mybatis項(xiàng)目兼容mybatis-plus問(wèn)題
1、添加mybatis-plus依賴(lài)
<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、將環(huán)境配置yml里的mybatis配置名稱(chēng)
修改成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類(lèi)
里的sqlSessionFactory方法中獲取的屬性參數(shù)由mybatis改成mybatis-plus
并在結(jié)尾添加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自動(dòng)填充 */ @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的其他配置
不合數(shù)據(jù)庫(kù)匹配
5、上面配置后
原來(lái)的mybatis也可以照常使用xml。
最后記得開(kāi)啟自動(dòng)掃描 自己的目錄
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Mac下IDEA安裝并使用protobuf方式(Java)
這篇文章主要介紹了在Mac下IDEA安裝并使用protobuf方式(Java),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11Idea實(shí)現(xiàn)接口的方法上無(wú)法添加@Override注解的解決方案
文章介紹了在IDEA中實(shí)現(xiàn)接口方法時(shí)無(wú)法添加@Override注解的問(wèn)題及其解決方法,主要步驟包括更改項(xiàng)目結(jié)構(gòu)中的Language level到支持該注解的版本,以及在pom.xml文件中指定maven-compiler-plugin的版本以解決自動(dòng)更新后的問(wèn)題2025-02-02Mybatis關(guān)聯(lián)查詢(xún)結(jié)果集對(duì)象嵌套的具體使用
在查詢(xún)時(shí)經(jīng)常出現(xiàn)一對(duì)多”的關(guān)系,所有會(huì)出現(xiàn)嵌套對(duì)象的情況,本文主要介紹了Mybatis關(guān)聯(lián)查詢(xún)結(jié)果集對(duì)象嵌套的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02Java如何判斷線(xiàn)程是否結(jié)束的三種方法
本文主要介紹了Java如何判斷線(xiàn)程是否結(jié)束的三種方法,主要介紹了三種方法,文中根據(jù)實(shí)例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Java把數(shù)字格式化為貨幣字符串實(shí)例代碼
這篇文章主要介紹了Java把數(shù)字格式化為貨幣字符串實(shí)例代碼,需要的朋友可以參考下2014-02-02