sqlsessiontemplate和sqlsessiondaosupport
时间: 2023-09-15 14:18:11 浏览: 39
`SqlSessionTemplate`和`SqlSessionDaoSupport`都是MyBatis框架提供的用于简化持久层开发的工具类。它们都可以用于执行MyBatis的SQL语句,但是有一些区别。
`SqlSessionTemplate`是一个线程安全的类,它是通过`SqlSessionFactory`创建的`SqlSession`的包装器。它提供了常用的CRUD操作方法,如insert、update、delete和select等。在使用`SqlSessionTemplate`时,我们只需要注入`SqlSessionFactory`即可,通过`SqlSessionTemplate`执行数据库操作。它的优点是使用简单,不需要手动管理`SqlSession`的生命周期,同时它也提供了事务管理的支持。
`SqlSessionDaoSupport`是一个支持MyBatis持久层开发的模板类,它可以让我们更加方便地使用MyBatis进行数据访问。它提供了一个`SqlSession`的成员变量,可以通过继承该类并注入`SqlSessionFactory`来使用`SqlSession`进行数据库操作。但是,它没有像`SqlSessionTemplate`那样提供常用的CRUD操作方法,需要手动调用`SqlSession`的方法进行操作。此外,`SqlSessionDaoSupport`也提供了事务管理的支持。
综上所述,`SqlSessionTemplate`是一个更加方便、简单、高效、安全的数据访问方式,而`SqlSessionDaoSupport`更加灵活,需要手动管理`SqlSession`,但是可以自定义更加复杂的数据访问逻辑。