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.config.GlobalConfig;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.zaxxer.hikari.HikariDataSource;
import demo.dso.MetaObjectHandlerImpl;
import demo.dso.MybatisSqlSessionFactoryBuilderImpl;
import okhttp3.Interceptor;
import org.apache.ibatis.solon.annotation.Db;
import org.noear.solon.Solon;
import org.noear.solon.annotation.Bean;
@ -18,33 +16,19 @@ import javax.sql.DataSource;
@Configuration
public class Config {
@Bean("db1")
public DataSource db1(@Inject("${dataSource.db1}") HikariDataSource hikariDataSource) {
return hikariDataSource;
@Bean
public void db1_cfg(@Db("db1") MybatisConfiguration cfg,
@Db("db1") GlobalConfig globalConfig) {
//增加 mybatis-plus 的自带分页插件
MybatisPlusInterceptor plusInterceptor = new MybatisPlusInterceptor();
plusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
cfg.addInterceptor(plusInterceptor);
}
// @Bean
// public Interceptor plusInterceptor() {
// MybatisPlusInterceptor plusInterceptor = new MybatisPlusInterceptor();
// plusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// return plusInterceptor;
// public MybatisSqlSessionFactoryBuilder factoryBuilderNew(){
// return new MybatisSqlSessionFactoryBuilderImpl();
// }
@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
# 配置数据源
dataSource:
db1:
# 与数据库名可用保持一致
schema: test
solon.dataSources:
db1!:
class: "com.zaxxer.hikari.HikariDataSource"
jdbcUrl: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true
driverClassName: com.mysql.cj.jdbc.Driver
username: root