mybatis项目兼容mybatis-plus问题,
分享于 点击 20001 次 点评:273
mybatis项目兼容mybatis-plus问题,
目录
- 1、添加mybatis-plus依赖
- 2、将环境配置yml里的mybatis配置名称
- 3、修改MyBatisConfig.java类
- 4、自己添加mybatis-plus的其他配置
- 5、上面配置后
- 总结
1、添加mybatis-plus依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-extension</artifactId> <version>3.5.1</version> </dependency>
2、将环境配置yml里的mybatis配置名称
修改成mybatis-plus:
mybatis-plus: # 搜索指定包别名 typeAliasesPackage: com.cartreasure.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml configuration: map-underscore-to-camel-case: true
3、修改MyBatisConfig.java类
里的sqlSessionFactory方法中获取的属性参数由mybatis改成mybatis-plus
并在结尾添加mybatis-plus的全局配置
@Bean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { String typeAliasesPackage = env.getProperty("mybatis-plus.typeAliasesPackage"); String mapperLocations = env.getProperty("mybatis-plus.mapperLocations"); String configLocation = env.getProperty("mybatis-plus.configLocation"); typeAliasesPackage = setTypeAliasesPackage(typeAliasesPackage); VFS.addImplClass(SpringBootVFS.class); final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); sessionFactory.setTypeAliasesPackage(typeAliasesPackage); sessionFactory.setMapperLocations(resolveMapperLocations(StringUtils.split(mapperLocations, ","))); sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(configLocation)); //获取mybatis-plus全局配置 GlobalConfig globalConfig = GlobalConfigUtils.defaults(); globalConfig.setMetaObjectHandler(new MyMetaObjectHandler()); GlobalConfig.DbConfig dbConfig = new GlobalConfig.DbConfig(); dbConfig.setLogicDeleteField("delFlag"); dbConfig.setLogicDeleteValue("2"); globalConfig.setDbConfig(dbConfig); sessionFactory.setGlobalConfig(globalConfig); MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); sessionFactory.setPlugins(interceptor); return sessionFactory.getObject(); } import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.cartreasure.common.utils.SecurityUtils; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; /** * mybatis-plus自动填充 */ @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.strictInsertFill(metaObject,"createBy",String.class, SecurityUtils.getLoginUser().getUsername()); } @Override public void updateFill(MetaObject metaObject) { this.strictUpdateFill(metaObject,"updateBy",String.class,SecurityUtils.getLoginUser().getUsername()); } }
4、自己添加mybatis-plus的其他配置
不合数据库匹配
5、上面配置后
原来的mybatis也可以照常使用xml。
最后记得开启自动扫描 自己的目录
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持3672js教程。
您可能感兴趣的文章:- SpringBoot3.2.2整合MyBatis-Plus3.5.5依赖不兼容的问题解决
- JPA与mybatis-plus不兼容问题的解决
- Mybatis-Plus 映射匹配兼容性的问题解决
- mybatis-plus 版本不兼容问题的解决
用户点评