BeetlSQL 3.13.0 发布,新的多库支持方式
新增 ThreadLocalSQLManager 类,让开发者指定使用哪个SQLManager, 一个使用例子
beetlsql.sqlManagers = proxySqlManager
beetlsql.proxySqlManager.threadlocal=sqlManager1,sqlManager2
beetlsql.proxySqlManager.basePackage=org.beetl.sql.springboot.threadlocal
beetlsql.sqlManager1.ds=ds1
beetlsql.sqlManager1.
beetlsql.sqlManager2.ds=ds2,ds2-slave
如上配置了ds1和ds2,ds2还有一个从库ds2-slave. 所有这些配置都使用proxyManager代理,设定了
threadlocal=sqlManger1,sqManager2, 第一个为默认数据库,那么如下代码根据Use注解来确定使用哪个库
@Autowired
@Qualifier("proxySqlManager")
SQLManager sqlManager;
@Autowired
UserInfoMapper mapper;
@Use("sqlManager2")
public long test2(){
return mapper.allCount();
}
@Use("sqlManager1")
public long test1(){
return mapper.allCount();
}
//默认sqlmanager1
public long test1(){
return mapper.allCount();
}
<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetlsql</artifactId>
<version>3.13.0-RELEASE</version>
</dependency>
BeetlSQL 自主研发自 2015 年,目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,写起数据库访问代码特别顺滑,不亚于 MyBatis。你不想写 SQL 也好,或者想更好地写 SQL 也好,BeetlSQL 都能满足这要求,目前支持的数据库如下
- 传统数据库:MySQL (包括支持MySQL协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等
- 大数据:HBase,ClickHouse,Cassandar,Hive,GreenPlum
- 物联网时序数据库:Machbase,TD-Engine,IotDB
- SQL查询引擎:Drill,Presto,Druid
- 内存数据库:ignite,CouchBase