Mybatis--dao实现类的使用方式


Mybatis--dao实现类的使用方式

测试类中初始化:

1.通过Resources.getResourceAsStream()方法读取配置文件,生成字节流

2.生成一个SqlSessionFactoryBuilder对象,调用对象的build生成一个工厂,通过new UserDaoImple(factory)创建dao对象

1.查询列表

UserDaoImple实现了findAll()方法,通过dao对象调用其中的该方法即可返回List

List 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 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.为什么更新与删除也要进行事务提交

答:要对数据进行更新,对数据库的更新,删除和插入都需要进行事务提交