大家好,又见面了,我是你们的朋友全栈君。
通俗地讲,SqlSessionTemplate是Mybatis—Spring的核心,是用来代替默认Mybatis实现的DefaultSqlSessionFactory,也可以说是DefaultSqlSessionFactory的优化版,主要负责管理Mybatis的SqlSession,调用Mybatis的sql方法,SqlSessionTemplate是线程安全的,通过TransactionSynchronizationManager中的ThreadLocal保存线程对应的SqlSession,可以被多个Dao共享使用。
字段 | 类型 | 描述 |
---|---|---|
sqlSessionFactory | SqlSessionFactory | SqlSession工厂 |
executorType | ExecutorType | Executor的类型:SIMPLE, REUSE, BATCH |
sqlSessionProxy | SqlSession | SqlSession代理对象,注册了SqlSessionInterceptor反射处理器,实际上的方法调用都是通过SqlSessionInterceptor反射实现的。 |
exceptionTranslator | PersistenceExceptionTranslator | Spring提供的接口,用于处理持久化框架的异常 |
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
/** * *查找对象 * @author XWJ * @return UserInfo * @class DaoImpl * @model findTheObject * @param str * @param ob * @return */
public UserInfo findTheObject(String str,Object ob){
return sqlSessionTemplate.selectOne(str, ob);
}
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import com.xb.dao.DaoImpl;
import com.xb.util.EndData;
/** * @author XWJ *2019年10月10日 */
@Repository
public class TestService2 {
@Resource(name="daoImpl")
private DaoImpl dao;
public UserInfo getUserInfo(String id) throws Exception {
return (UserInfo)dao.findTheObject("TestMapper.getUserInfo", id);
}
}
OK,到这里SqlSessionTemplate就解析完成 了,最后看都看了,码字不易,留个赞 再走吧!!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138477.html原文链接:https://javaforall.cn