在开发中,一般不推荐自己去实现DAO接口类,而是直接使用mybatis封装好的功能,但是从学习的角度来看,也有必要明白如何使用mybatis完成DAO层的开发。
文章目录
一、自定义DAO实现类完成CRUD
1.自定义DAO实现类
1.1实现findAll()方法
注意其中工厂类的属性设置和初始化,以及查询类的实现
public class UserDaoImpl implements IUserDao {
SqlSessionFactory factory;
public UserDaoImpl(SqlSessionFactory factory){
this.factory = factory;
}
public List<User> findAll() {
//1.根据factory获取SqlSession对象
SqlSession session = factory.openSession();
//2.调用SqlSession中的方法 完成查询
// 这里面的参数就是 IUserDao.xml中 的namespace.id
List<User> users = session.selectList("com.xpt.dao.IUserDao.findAll");
//3.释放资源
session.close();
return users;
}
}
1.2注意测试类的改造
- 初始化和销毁的改造
- 测试方法
@Test
public void testFindAll(){
//5.执行查询
List<User> users = userDao.findAll();
//6.打印
for (User user : users) {
System.out.println(user);
}
}
- 可以发现自己写DAO实现类会多很多代码,所以并不推荐这种方式
1.2实现saveUser()方法
public void saveUser(User user) {