mybatis項(xiàng)目兼容mybatis-plus問(wèn)題
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、將環(huán)境配置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方法中獲取的屬性參數(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-11
Idea實(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-02
Mybatis關(guān)聯(lián)查詢結(jié)果集對(duì)象嵌套的具體使用
在查詢時(shí)經(jīng)常出現(xiàn)一對(duì)多”的關(guān)系,所有會(huì)出現(xiàn)嵌套對(duì)象的情況,本文主要介紹了Mybatis關(guān)聯(lián)查詢結(jié)果集對(duì)象嵌套的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java把數(shù)字格式化為貨幣字符串實(shí)例代碼
這篇文章主要介紹了Java把數(shù)字格式化為貨幣字符串實(shí)例代碼,需要的朋友可以參考下2014-02-02

