赞
踩
1.添加依赖,在pom.xml中添加
org.mybatis
mybatis
3.3.0
mysql
mysql-connector-java
5.1.29
2. 添加Entity
public class UsersEntity {
private Integer userid;
private String username;
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username == null ? null : username.trim();
}
}
3. 添加dao层的interface UsersEntityMapper.java
public interface UsersEntityMapper {
UsersEntity getUsersByPhoneNo(String phoneNo);
}
4. 添加mapper的xml UsersEntityMapper.xml
select * from users where phoneno = #{phoneNo}
5. 添加mybatis的配置文件mybatis_config.xml
6. mybatis配置文件mybatis_config.xml和UsersEntityMapper.xml的位置
UsersEntityMapper.xml如果放在src/main/java里的话,则需要向pom添加路径,否则package时会报错:找不到xml文件,
原因是maven默认xml文件在src/main/resources里(不过后来发现,即使放在了默认里也不行)。
src/main/java
**/*.xml
向maven项目添加src/main/resources目录,并将mybatis_config.xml放在里面。(虽然可以通过另创建文件夹,然后use as source,但还是按照maven默认比较舒服)
添加的方式可以通过Project-Properties-Java Build Path-Source-Add Folder-选中文件夹后Create new folder...
同样,测试目录src/test/resources也通过这样执行。
问题来了,测试时没有任何问题,但是jar包不能,maven会把test目录的xml文件复制到target/test-class下,但是不会将main下的xml复制到target/class里,
除了那些mapper,因为已经指定了路径。因此还需要在pom的resources标签里指定,为了maven复制过去。
src/main/java
**/*.xml
src/main/resources
**/*.xml
7. 最后使用
String resouces = "mybatis_config.xml";
InputStream in = Resources.getResourceAsStream(resouces);
//读取配置文件的配置信息,利用SqlSessionFactoryBuilder创建sqlSessionFactory
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
//利用sqlSessionFactory打开与数据库的会话
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UsersEntityMapper ueMapper = sqlSession.getMapper(UsersEntityMapper.class);//通过sqlSession得到mapper
String no = "13299999999";
UsersEntity user = ueMapper.getUsersByPhoneNo(no);//调用mapper的方法
//只读操作不需要sqlSession.commit()
System.out.println("查询到用户...");
System.out.println(user.getUsername());
} finally {
sqlSession.close();
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。