BeetlSQL3.0.0如何轻松集成Spring

技术BeetlSQL3.0.0如何轻松集成Spring这篇文章主要为大家展示了“BeetlSQL3.0.0如何轻松集成Spring”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下

这篇文章主要为大家展示了“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

(0)

相关推荐

  • Rhel7_Oracle11g_rac安装方法是什么

    技术Rhel7_Oracle11g_rac安装方法是什么这篇文章主要讲解了“Rhel7_Oracle11g_rac安装方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学

    攻略 2021年11月4日
  • 如何理解C语言实现的操作系统银行家算法

    技术如何理解C语言实现的操作系统银行家算法如何理解C语言实现的操作系统银行家算法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、选题背景这次课程设计要

    攻略 2021年10月27日
  • 染发剂什么牌子最好,用什么牌子的染发剂最安全方便

    技术染发剂什么牌子最好,用什么牌子的染发剂最安全方便很多妹子都喜欢经常换各种各样的发色染发剂什么牌子最好,我舍友就是这样一个经常折腾的妹子,在她的带动下我也染过几次,她用过的染发剂真的是比我见过的都多。不过我专门去了解了

    生活 2021年10月22日
  • 橘去掉木念什么,橘子去掉木字旁加一个鸟子念什么

    技术橘去掉木念什么,橘子去掉木字旁加一个鸟子念什么读音:[yù]鹬的繁体字“鷸”一种鸟,羽毛茶褐色,嘴橘去掉木念什么、脚都很长,趾间无蹼,常在水边或田野中捕吃小鱼、小虫和贝类。鹬聚、蛎鹬、鹬冠、鹬子、鹬蚌鹬鹬、杓鹬属、鹬

    生活 2021年10月22日
  • html5哪个属性可以使图形垂直居中(html5水平居中属性)

    技术html5中让图片居中的是哪个属性呢这期内容当中小编将会给大家带来有关html5中让图片居中的是哪个属性呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。html5中让图片居中的属性

    攻略 2021年12月17日
  • Python代码的使用方法

    技术Python代码的使用方法本篇内容介绍了“Python代码的使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1

    攻略 2021年10月26日