mybatis-plus-solon-plugin 微调示例

This commit is contained in:
noear 2024-10-15 09:46:18 +08:00
parent a4d9b8dda7
commit 81936a70d3
2 changed files with 14 additions and 31 deletions

View File

@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder; import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder;
import com.baomidou.mybatisplus.core.config.GlobalConfig; import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.zaxxer.hikari.HikariDataSource;
import demo.dso.MetaObjectHandlerImpl; import demo.dso.MetaObjectHandlerImpl;
import demo.dso.MybatisSqlSessionFactoryBuilderImpl; import demo.dso.MybatisSqlSessionFactoryBuilderImpl;
import okhttp3.Interceptor;
import org.apache.ibatis.solon.annotation.Db; import org.apache.ibatis.solon.annotation.Db;
import org.noear.solon.Solon; import org.noear.solon.Solon;
import org.noear.solon.annotation.Bean; import org.noear.solon.annotation.Bean;
@ -18,33 +16,19 @@ import javax.sql.DataSource;
@Configuration @Configuration
public class Config { public class Config {
@Bean("db1") @Bean
public DataSource db1(@Inject("${dataSource.db1}") HikariDataSource hikariDataSource) { public void db1_cfg(@Db("db1") MybatisConfiguration cfg,
return hikariDataSource; @Db("db1") GlobalConfig globalConfig) {
//增加 mybatis-plus 的自带分页插件
MybatisPlusInterceptor plusInterceptor = new MybatisPlusInterceptor();
plusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
cfg.addInterceptor(plusInterceptor);
} }
// @Bean // @Bean
// public Interceptor plusInterceptor() { // public MybatisSqlSessionFactoryBuilder factoryBuilderNew(){
// MybatisPlusInterceptor plusInterceptor = new MybatisPlusInterceptor(); // return new MybatisSqlSessionFactoryBuilderImpl();
// plusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// return plusInterceptor;
// } // }
@Bean
public void db1_ext(@Db("db1") GlobalConfig globalConfig) {
MetaObjectHandler metaObjectHandler = new MetaObjectHandlerImpl();
globalConfig.setMetaObjectHandler(metaObjectHandler);
}
@Bean
public void db1_ext2(@Db("db1") MybatisConfiguration config){
config.getTypeHandlerRegistry().register("xxx");
config.setDefaultEnumTypeHandler(null);
}
@Bean
public MybatisSqlSessionFactoryBuilder factoryBuilderNew(){
return new MybatisSqlSessionFactoryBuilderImpl();
}
} }

View File

@ -2,10 +2,9 @@ server:
port: 6040 port: 6040
# 配置数据源 # 配置数据源
dataSource: solon.dataSources:
db1: db1!:
# 与数据库名可用保持一致 class: "com.zaxxer.hikari.HikariDataSource"
schema: test
jdbcUrl: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true jdbcUrl: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
username: root username: root