修改 MybatisUtil 的实现,并更名为 MyBatisContextUtil。

This commit is contained in:
zhouxy108 2022-12-08 18:08:23 +08:00
parent cb07c0befd
commit 70f4a9fb45
4 changed files with 17 additions and 46 deletions

View File

@ -1,17 +0,0 @@
package xyz.zhouxy.plusone.mybatis;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
public class MyBatisAutoConfiguration {
@Bean
MybatisUtil mybatisUtil(SqlSessionFactory sqlSessionFactory) {
return MybatisUtil.getInstance()
.setSqlSessionFactory(sqlSessionFactory);
}
}

View File

@ -0,0 +1,16 @@
package xyz.zhouxy.plusone.mybatis;
import org.apache.ibatis.session.SqlSessionFactory;
import xyz.zhouxy.plusone.spring.SpringContextHolder;
public final class MyBatisContextUtil {
private MyBatisContextUtil() {
throw new IllegalStateException("Utility class");
}
public static SqlSessionFactory getSqlSessionFactory() {
return SpringContextHolder.getContext().getBean(SqlSessionFactory.class);
}
}

View File

@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());

View File

@ -1,28 +0,0 @@
package xyz.zhouxy.plusone.mybatis;
import org.apache.ibatis.session.SqlSessionFactory;
public final class MybatisUtil {
private SqlSessionFactory sqlSessionFactory;
private MybatisUtil() {
}
MybatisUtil setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
return this;
}
private static final class Holder {
private static final MybatisUtil INSTANCE = new MybatisUtil();
}
public static MybatisUtil getInstance() {
return Holder.INSTANCE;
}
public static SqlSessionFactory getSqlSessionFactory() {
return MybatisUtil.getInstance().sqlSessionFactory;
}
}