|
@@ -1,11 +1,11 @@
|
|
|
package co.weiku.beetlsqldemo.config;
|
|
|
|
|
|
import com.zaxxer.hikari.HikariDataSource;
|
|
|
-import org.beetl.sql.core.DefaultNameConversion;
|
|
|
-import org.beetl.sql.core.SQLManager;
|
|
|
-import org.beetl.sql.core.db.MySqlStyle;
|
|
|
+import org.beetl.sql.core.*;
|
|
|
import org.beetl.sql.core.db.SqlServer2012Style;
|
|
|
+import org.beetl.sql.ext.DebugInterceptor;
|
|
|
import org.beetl.sql.starter.SQLManagerCustomize;
|
|
|
+import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.context.annotation.Primary;
|
|
@@ -54,12 +54,13 @@ public class DataSourceConfig {
|
|
|
//DBInitHelper.executeSqlScript(manager,"db/ini.sql");
|
|
|
|
|
|
//设置命名转化NC及数据库风格
|
|
|
+ //这里设置DbStyle后会造成sqlManager.template()方法的空指针异常(3.0.3)
|
|
|
if (sqlMangerName.equals("db1")) {
|
|
|
- manager.setDbStyle(new MySqlStyle());
|
|
|
- manager.setNc(new DefaultNameConversion());
|
|
|
+ //manager.setDbStyle(new MySqlStyle());
|
|
|
+ //manager.setNc(new DefaultNameConversion());
|
|
|
} else if (sqlMangerName.equals("db2")) {
|
|
|
- manager.setDbStyle(new SqlServer2012Style());
|
|
|
- manager.setNc(new DefaultNameConversion());
|
|
|
+ //manager.setDbStyle(new SqlServer2012Style());
|
|
|
+ //manager.setNc(new DefaultNameConversion());
|
|
|
}
|
|
|
|
|
|
//可以对sqlManager进行其它设置
|
|
@@ -67,37 +68,21 @@ public class DataSourceConfig {
|
|
|
};
|
|
|
}
|
|
|
|
|
|
- //region ========== 其它备用代码 ==========
|
|
|
+ //db1:配置文件中定义
|
|
|
+ //db2:配置文件中定义
|
|
|
+ //db3:此处定义
|
|
|
+ @Bean(name = "db3")
|
|
|
+ public SQLManager getSQLManager1(@Qualifier("ds2") DataSource ds) {
|
|
|
+ ConnectionSource source = ConnectionSourceHelper.getSingle(ds);
|
|
|
+ //source是唯一必须的参数,其他参数都有默认值
|
|
|
+ SQLManagerBuilder builder = new SQLManagerBuilder(source);
|
|
|
+ //设置NameConversion,这里数据库命名采用下划线风格,使用UnderlinedNameConversion
|
|
|
+ builder.setNc(new DefaultNameConversion());
|
|
|
+ //设置一个拦截器,输出debug日志,包含了sql语句和执行参数,执行时间
|
|
|
+ builder.setInters(new Interceptor[]{new DebugInterceptor()});
|
|
|
+ //设置数据库分隔,必须跟数据库一样
|
|
|
+ builder.setDbStyle(new SqlServer2012Style());
|
|
|
|
|
|
- // @Bean(name = "db1")
|
|
|
- // public SQLManager getSQLManager1(@Qualifier("ds1") DataSource ds){
|
|
|
- // ConnectionSource source = ConnectionSourceHelper.getSingle(ds);
|
|
|
- // //source是唯一必须的参数,其他参数都有默认值
|
|
|
- // SQLManagerBuilder builder = new SQLManagerBuilder(source);
|
|
|
- // //设置NameConversion,这里数据库命名采用下划线风格,使用UnderlinedNameConversion
|
|
|
- // builder.setNc(new DefaultNameConversion());
|
|
|
- // //设置一个拦截器,输出debug日志,包含了sql语句和执行参数,执行时间
|
|
|
- // builder.setInters(new Interceptor[]{new DebugInterceptor()});
|
|
|
- // //设置数据库分隔,必须跟数据库一样
|
|
|
- // builder.setDbStyle(new MySqlStyle());
|
|
|
- //
|
|
|
- // return builder.build();
|
|
|
- // }
|
|
|
- //
|
|
|
- // @Bean(name = "db2")
|
|
|
- // public SQLManager getSQLManager2(@Qualifier("ds2") DataSource ds){
|
|
|
- // ConnectionSource source = ConnectionSourceHelper.getSingle(ds);
|
|
|
- // //source是唯一必须的参数,其他参数都有默认值
|
|
|
- // SQLManagerBuilder builder = new SQLManagerBuilder(source);
|
|
|
- // //设置NameConversion,这里数据库命名采用下划线风格,使用UnderlinedNameConversion
|
|
|
- // builder.setNc(new DefaultNameConversion());
|
|
|
- // //设置一个拦截器,输出debug日志,包含了sql语句和执行参数,执行时间
|
|
|
- // builder.setInters(new Interceptor[]{new DebugInterceptor()});
|
|
|
- // //设置数据库分隔,必须跟数据库一样
|
|
|
- // builder.setDbStyle(new SqlServer2012Style());
|
|
|
- //
|
|
|
- // return builder.build();
|
|
|
- // }
|
|
|
-
|
|
|
- //endregion
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
}
|