Using an SqlSession
在Mybatis中SqlSessionFactory负责创建SqlSession,一旦创建成功,就可以用SqlSession实例来执行映射语句,commit,rollback,close等方法。但当使用Mybatis-Spring时beans将会注入一个线程安全的SqlSession并通过Spring的事务管理自动commit,rollback,close。
由于没有必要直接使用SqlSession,大多数情况下由MapperFactoryBean把mappers注入到beans中。
SqlSessionTemplate
SqlSessionTemplate是MyBatis-Spring的核心类,它负责管理Mybatis的SqlSessions,调用Mybatis的SQL方法和翻译异常。SqlSessionTemplate基于线程安全而且可以被多个DAO共享。
当调用SQL方法(包括getMapper()返回的接口实现类),SqlSessionTemplate将会保证这个SqlSession和Spring事务相联系。并且SqlSessionTemplate管理着session的生命周期,包括commit,rollback,close
SqlSessionTemplate实现了SqlSession接口,目的是替代代码中任何地方出现的SqlSession。
SqlSessionTemplate可以通过一个类型为SqlSessionFactory的构造参数来初始化:
<
- bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
- <constructor-arg index="0" ref="sqlSessionFactory" />
- </bean>
- public class UserDaoImpl implements UserDao {
- private SqlSession sqlSession;
- public void setSqlSession(SqlSession sqlSession) {
- this.sqlSession = sqlSession;
- }
- public User getUser(String userId) {
- return (User) sqlSession.selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
- }
- }
public class UserDaoImpl implements UserDao { private SqlSession sqlSession; public void setSqlSession(SqlSession sqlSession) { this.sqlSession = sqlSession; } public User getUser(String userId) { return (User) sqlSession.selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId); } }
配置文件:
- <bean id="userDao" class="org.mybatis.spring.sample.dao.UserDaoImpl">
- <property name="sqlSession" ref="sqlSession" />
- </bean>
另外,也可以通过实现SqlSessionDaoSupport来获取SqlSessionTemplate(推荐):
- public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
- public User getUser(String userId) {
- return (User) getSqlSession()
- .selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
- }
- }
- <bean id="userMapper" class="org.mybatis.spring.sample.mapper.UserDaoImpl">
- <property name="sqlSessionFactory" ref="sqlSessionFactory" />
- </bean>
相关推荐
赠送jar包:mybatis-spring-2.0.0.jar; 赠送原API文档:mybatis-spring-2.0.0-javadoc.jar; 赠送源代码:mybatis-spring-2.0.0-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.0.pom; 包含翻译后的API...
mybatis-spring 整合jar包,Spring和MyBatis环境整合mybatis-spring-1.1.1
mybatisplus-spring-boot_mybatis-plus整合_shiro_plus_源码.zip
开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-1.3.1开发工具 mybatis-spring-...
貌似http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd已经链接不了,这里提供一个mybatis-generator-config_1_0的dtd文件,替换后就可以使用mybatis自动生成插件了。把网址替换成dtd文件的存放路径就行了,...
赠送jar包:mybatis-spring-boot-autoconfigure-1.3.2.jar; 赠送原API文档:mybatis-spring-boot-autoconfigure-1.3.2-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-1.3.2-sources.jar; 赠送...
mybatis-spring整合jar包mybatis-spring整合jar包mybatis-spring整合jar包mybatis-spring整合jar包
mybatis-plus shiro spring mybatis整合
开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架JAR mybatis-spring-1.3.1开发工具 框架...
mybatis-generator-config_1_0.dtd,mybaties现在好像上不去了,导致在自动生成代码时,校验dtd会失败。
mybatis-spring-boot-autoconfigure-2.1.3mybatis-spring-boot-autoconfigure-2.1.3
mybatis-spring-1.3.1.jar 包,mybatis和spring整合用,可以和 mybatis-3.4.4 等配合使用
赠送jar包:mybatis-spring-2.0.5.jar; 赠送原API文档:mybatis-spring-2.0.5-javadoc.jar; 赠送源代码:mybatis-spring-2.0.5-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.5.pom; 包含翻译后的API...
mybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jarmybatis-spring-boot-starter-2.1.3.jar
该jar包是Mybatis和Spring整合必备jar包,适配Mybatis-3.4.0及以上版本。
赠送jar包:mybatis-spring-2.0.3.jar; 赠送原API文档:mybatis-spring-2.0.3-javadoc.jar; 赠送源代码:mybatis-spring-2.0.3-sources.jar; 赠送Maven依赖信息文件:mybatis-spring-2.0.3.pom; 包含翻译后的API...
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 使用这个类库中的类, Spring 将会加载必要的 MyBatis 工厂类和 session 类。 这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 ...
mybatis-spring-boot-starter-2.1.4.jarmybatis-spring-boot-starter-2.1.4.jar
mybatis-spring-1.3.3.jar包,mybatis和spring整合用,最新版.帮助文档 源代码
赠送jar包:mybatis-spring-boot-autoconfigure-2.1.1.jar; 赠送原API文档:mybatis-spring-boot-autoconfigure-2.1.1-javadoc.jar; 赠送源代码:mybatis-spring-boot-autoconfigure-2.1.1-sources.jar; 赠送...