这篇文章主要为大家展示了“BeetlSQL3.0.0如何轻松集成春天",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“BeetlSQL3.0.0如何轻松集成春天"这篇文章吧。
单数据源
首先引入启动器,目前版本是3.0.0-M5
属国
groupIdcom.ibeetl/groupId
artifactIdsql-spring boot-starter/artifactId
版本${version}/version
/依赖性然后编辑春天的配置文件应用程序。属性,如下(参考BeetlSqlConfig)
beetlsql=sqlManager1
beetlsql.sqlManager1.ds=ds1
beetlsql。Sqlmanager 1。BasePACkage=org。比特尔。SqL。弹簧靴。简单的
beetlsql。Sqlmanager 1。DBstyle=org。比特尔。SqL。核心。db。MySQL风格第一行表示需要配置一个SQLManager实例嘿,比恩名称为sqlManger1
第二行表示使用名称ds1的数据源
第三行可选,表示制图人类在组织。槟榔。SQL。弹簧靴。简单的下
第四行表示数据库是关系型数据库
其他可选的配置如下
beetlsql。sqlmanager 1。大刀后缀映射器
beetlsql。Sqlmanager 1。名称转换=组织。比特尔。SqL。核心。欠载名称转换
beetlsql。Sqlmanager 1。SqL路径=SQL分别表示制图人的类的后缀是映射器,使用下划线名称转换作为默认的列名和属性名的转化,以及结构化查询语言文件放到类路径的结构化查询语言下
编写Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)类,配置好ds1数据源
@Bean(名称='ds1 ')
公共数据源数据源(环境){ 0
hikardatasourceds=new hikardata source();
ds。setjdbcurl(env。getproperty(' spring。数据源。URL ');
ds。setusername(env。getproperty(' spring。数据源。username’);
ds。setpassword(env。GetProperty(' spring。数据源。密码');
ds。setdriverclassname(env。getproperty(' spring。数据源。driver-class-name’);
返回
}然后,你就可以在代码中使用BeetlSQL,比如简单测试
@RunWith(SpringRunner.class)
@回弹测试(classes=SimpleApplication.class)
@事务性
publicclassSimpleTest{
@自动连线
SQLManagersqlManager
@自动连线
SimpleUserInfoMapper userInfoMapper;
@Test
public void test(){
sqlManager.single(UserInfo.class,1);
userInfoMapper.single(1);
}
}
主从库
BeetlSQL在多库系统里,如果多库是一个业务库,则使用一个SQLManager管理,比如主从,或者多租户,以主从库为例子,SpringBoot的配置如下(多租户例子参考工程源码实例)
beetlsql = sqlManager1 beetlsql.sqlManager1.ds=masterDs,slaveDs1,slaveDs2
主要就是ds会有多个数据源配置,第一个为主库,后面为从库,如果事务是只读事务且是查询操作,则BeetlSQL将使用从库操作
@Bean(name = "masterDs") public DataSource master(Environment env) { HikariDataSource ds = new HikariDataSource(); ds.setJdbcUrl(env.getProperty("spring.datasource.url")); ds.setUsername(env.getProperty("spring.datasource.username")); ds.setPassword(env.getProperty("spring.datasource.password")); ds.setDriverClassName(env.getProperty("spring.datasource.driver-class-name")); return ds; } @Bean(name = "slaveDs1") public DataSource slaveDs1(Environment env) { // 省略 return ds; } @Bean(name = "slaveDs2") public DataSource slaveDs2(Environment env) { // 省略 return ds; }
动态SQLManager
如果系统有多个业务库,或者有传统数据库+SQL查询引擎+物联网时序库,可以分别建立多个SQLManager,比如
beetlsql = sqlManager1,sqlManager2 beetlsql.sqlManager1.ds = ds1 beetlsql.sqlManager2.ds = queryDs
BeetlSQL也支持一个SQLManager,管理多个业务库,内部实现是通过ConditionalSQLManager来实现的,动态决定使用哪个SQLManager 这时候只需要简单配置即可
beetlsql = sqlManager beetlsql.sqlManager.dynamic=sqlManager1,sqlManager2 beetlsql.sqlManager.basePackage=org.beetl.sql.springboot.dynamic beetlsql.sqlManager1.ds=ds1 beetlsql.sqlManager2.ds=ds2
第一行申明了了一个SQLMananger实例,名称为sqlManager 第二行申明此SQLManager包含多个SQLManager,第一个为默认 后面三行同前所述。 当申明dynamic后,sqlManager的实现类是ConditionalSQLManager,因此使用哪个SQLManager取决于操作的实体上的注解@TargetSQLManager(此策略可以修改)`
@Table(name="user") @TargetSQLManager("sqlManager1") @Data public class UserInfoInDs1 { @AssignID private Integer id; private String name; }
@Table(name="user") @TargetSQLManager("sqlManager2") @Data public class UserInfoInDs2 { @AssignID private Integer id; private String name; }
测试代码 DynamicTest
public class DynamicTest { @Autowired @Qualifier("sqlManager") SQLManager sqlManager; @Test public void test(){ sqlManager.single(UserInfoInDs1.class,1); sqlManager.single(UserInfoInDs2.class,1); } }
以上是“BeetlSQL3.0.0如何轻松集成Spring”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/155342.html