mysql.sql
DROP TABLE USERS;
CREATE TABLE USERS
(
ID INT NOT NULL AUTO_INCREMENT,
NUM INT,
NAME VARCHAR(400),
SEX INT,
AGE INT,
UKEY VARCHAR(50),
CREATE_DATE VARCHAR(50),
PASSWORD VARCHAR(50),
EMAIL VARCHAR(50),
REMARK VARCHAR(250),
PRIMARY KEY(ID)
);
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="config/config.properties"></properties>
<typeAliases>
<package name="pojo" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
<property name="poolMaximumActiveConnections" value="15" />
<property name="poolMaximumCheckoutTime" value="5000" />
</dataSource>
</environment>
</environments>
</configuration>
config.properties
#Mysql
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://10.16.11.210:3306/test
username=root
password=123456
poolMaximumActiveConnections=15
SessionFactory.java
package common;
import java.io.IOException;
import java.io.Reader;
import mapper.AnnUsersMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.Configuration;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SessionFactory {
private static String RESOURCE = "config/mybatis-config.xml";
private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();
public static SqlSessionFactory getSessionFactory() {
Reader reader = null;
try {
reader = Resources.getResourceAsReader(RESOURCE);
} catch (IOException e) {
System.out.println("read mybatis-config.xml failed!");
e.printStackTrace();
}
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
Configuration config = sessionFactory.getConfiguration();
config.addMapper(AnnUsersMapper.class);
return sessionFactory;
}
public static SqlSession getSession() {
SqlSession session = threadLocal.get();
if (session == null) {
session = getSessionFactory().openSession();
threadLocal.set(session);
return session;
}
return session;
}
public static void closeSession() {
SqlSession session = threadLocal.get();
if (session != null) {
threadLocal.set(null);
session.close();
}
}
}
Users.java
package pojo;
import org.apache.ibatis.type.Alias;
@Alias("Users")
public class Users {
private int id;
private int num;
private String name;
private int sex;
private int age;
private String ukey;
private String createDate;
private String email;
private String password;
private String remark;
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getUkey() {
return ukey;
}
public void setUkey(String ukey) {
this.ukey = ukey;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
AnnUsersMapper.java
package mapper;
import java.util.List;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.session.RowBounds;
import pojo.Users;
public interface AnnUsersMapper {
// @Insert("INSERT INTO USERS(num,name,age,sex,ukey,create_date,email,password,remark)values(#{num},#{name},#{age},#{sex},#{ukey},#{createDate},#{email},#{password},#{remark})")
@InsertProvider(type = AnnUsersMapperProvider.class, method = "insert")
int insert(List<Users> users);
@Delete("DELETE FROM USERS")
int delete();
@Select("SELECT count(*) as total FROM USERS")
int count();
@Select("SELECT * FROM USERS")
List<Users> selectByAll(@Param("rowBounds") RowBounds rowBounds);
}
class AnnUsersMapperProvider {
public String insert() {
String sql="INSERT INTO USERS(num,name,age,sex,ukey,create_date,email,password,remark) values(" +
"#{num}," +
"#{name}," +
"#{age}," +
"#{sex}," +
"#{ukey}," +
"#{createDate}," +
"#{email}," +
"#{password}," +
"#{remark}" +
")";
return sql;
}
}
AnnTest.java
package test;
import java.util.Date;
import mapper.AnnUsersMapper;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
import pojo.Users;
import common.SessionFactory;
import java.util.List;
public class AnnTest {
public static void main(String[] args) {
SqlSession session = SessionFactory.getSession();
AnnUsersMapper userMapper = session.getMapper(AnnUsersMapper.class);
try {
System.out.println("---------insert strat------------");
Users users = new Users();
users.setAge(32);
users.setSex(1);
users.setCreateDate("2011-6-27");
users.setEmail("jjj2005jjjj@126.com");
users.setUkey("WERQWERWQERWQERTWETTREEEE");
users.setRemark("nDKJGHJKJHHGHJJJJJGHGYT");
users.setPassword("123456");
users.setName("zhuyj");
Long l = new Date().getTime();
for (int i = 0; i < 100; i++) {
users.setNum(i);
session.insert("pojo.Users.insert", users);
}
session.commit();
System.out.println((new Date().getTime() - l) / 1000.0);
System.out.println("---------insert end-------------");
System.out.println("---------count strat-------------");
Long lll = new Date().getTime();
int count = userMapper.count();
System.out.println(count);
System.out.println(((new Date()).getTime() - lll) / 1000.0);
System.out.println("---------count end---------------");
System.out.println("---------select strat------------");
Long llll = new Date().getTime();
List<Users> li2= userMapper.selectByAll(new RowBounds(9000, 50));
System.out.println(((new Date()).getTime() - llll) /1000.0);
System.out.println("---------select end--------------");
System.out.println(li2.get(1).getName());
System.out.println(li2.size());
} catch (Exception e) {
e.printStackTrace();
session.rollback();
} finally {
SessionFactory.closeSession();
}
}
}
注意一个小问题,不知为什么在mybatis-config.xml使用
<mappers>
<mapper class="mapper.AnnUsersMapper" />
</mappers>
不能加载接口,后来我在SessionFactory.java里加载了
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
Configuration config = sessionFactory.getConfiguration();
config.addMapper(AnnUsersMapper.class);
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com