Mybatis--dao实现类的使用方式
## Mybatis--dao实现类的使用方式
测试类中初始化:
1.通过Resources.getResourceAsStream()方法读取配置文件,生成字节流
2.生成一个SqlSessionFactoryBuilder对象,调用对象的build生成一个工厂,通过new UserDaoImple(factory)创建dao对象
1.查询列表
UserDaoImple实现了findAll()方法,通过dao对象调用其中的该方法即可返回List
List<User> userList = sqlSession.selectList("com.xurong.dao.IUserDao.findAll");
2.插入列表
//"com.xurong.dao.IUserDao.saveUser"表明用哪一个语句来执行,user表明所执行的语句所需要的参数
sqlSession.insert("com.xurong.dao.IUserDao.saveUser",user);
记得调用SqlSession类中的commit()方法将插入数据的事务提交
3.更新列表
//调用方法实现更新操作
sqlSession.update("com.xurong.dao.IUserDao.updateUser",user);
记得调用SqlSession类中的commit()方法将插入数据的事务提交
4.删除列表
//调用方法实现删除操作
sqlSession.delete("com.xurong.dao.IUserDao.deleteUser",userId);
记得调用SqlSession类中的commit()方法将插入数据的事务提交
5.通过id查找对象
//调用方法实现查找操作
User user = sqlSession.selectOne("com.xurong.dao.IUserDao.findById",userId);
6.通过usename实现模糊查询
//调用SqlSession方法实现查找
List<User> userList = sqlSession.selectList("com.xurong.dao.IUserDao.findByName",name);
7.统计User表中的对象个数(有问题)
//调用selectOne统计表中对象个数
//@return Mapped object返回的是一个对象,所以用Interger接收
int count = sqlSession.selectOne("com.xurong.dao.IUserDao.findTotal");
问题
1.为什么更新与删除也要进行事务提交
答:要对数据进行更新,对数据库的更新,删除和插入都需要进行事务提交