Mybatis

您所在的位置:网站首页 mybatisplus修改数据源 Mybatis

Mybatis

2023-12-19 06:39| 来源: 网络整理| 查看: 265

项目中需要用到Mybatis的插件,配置插件的时候需要自定义SqlSessionFactory

网上的信息不太准确,本文记录订正并共享大家。

Mybatis-plus 和Mybatis 是兼容的。

所以网上的配置 mybatis 的SqlSessionFactory 的方法基本上可行,但是对于mybatis-plus 的一些特性会丢失 例如

@TableField(fill = FieldFill.INSERT) 注解

正确的配置方式:

@Component public class DateAutoFillHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("createTime", new Date(), metaObject); this.setFieldValByName("modifyTime", new Date(), metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("modifyTime", new Date(), metaObject); } } @Autowired MybatisPlusInterceptor mybatisPlusInterceptor; @Autowired SqlPrintInterceptor sqlPrintInterceptor; @Bean(name = "globalConfig") public GlobalConfig globalConfig(@Qualifier("dateAutoFillHandler") DateAutoFillHandler dateAutoFillHandler) { GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setMetaObjectHandler(dateAutoFillHandler); return globalConfig; } /** * mybatis-plus sqlSessionFactory config * * @param ds * @param globalConfig * @return * @throws Exception */ @Bean(name = "sqlSessionFactory") @Primary public SqlSessionFactory sqlSessionFactory(@Qualifier("db1") DataSource ds, @Qualifier("globalConfig") GlobalConfig globalConfig) throws Exception { MybatisSqlSessionFactoryBean factoryBean = new MybatisSqlSessionFactoryBean(); factoryBean.setPlugins(new Interceptor[]{mybatisPlusInterceptor, sqlPrintInterceptor}); factoryBean.setDataSource(ds); MybatisConfiguration configuration = new MybatisConfiguration(); configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class); configuration.setJdbcTypeForNull(JdbcType.NULL); factoryBean.setConfiguration(configuration); factoryBean.setTransactionFactory(new SpringManagedTransactionFactory()); factoryBean.setGlobalConfig(globalConfig); return factoryBean.getObject(); }

这样 mybatis-plus 自定义sqlSessionFactory 就配置好了

参考资料:https://www.fancv.com/article/1646836381



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3