成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

BeetlSQL3.0.0如何輕松集成Spring

這篇文章主要為大家展示了“BeetlSQL3.0.0如何輕松集成Spring”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“BeetlSQL3.0.0如何輕松集成Spring”這篇文章吧。

10多年的準格爾網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整準格爾建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“準格爾網(wǎng)站設計”,“準格爾網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

單數(shù)據(jù)源

首先引入Starter,目前版本是3.0.0-M5

<dependency>
	<groupId>com.ibeetl</groupId>
	<artifactId>sql-springboot-starter</artifactId>
	<version>${version}</version>
</dependency>

然后編輯Spring的配置文件application.properties ,如下(參考BeetlSqlConfig)

beetlsql = sqlManager1
beetlsql.sqlManager1.ds=ds1
beetlsql.sqlManager1.basePackage=org.beetl.sql.springboot.simple
beetlsql.sqlManager1.dbStyle=org.beetl.sql.core.db.MySQLStyle
  • 第一行表示需要配置一個SQLManager實例,bean名稱為sqlManger1

  • 第二行表示使用名稱ds1的數(shù)據(jù)源

  • 第三行可選,表示mapper類在org.beetl.sql.springboot.simple下

  • 第四行表示數(shù)據(jù)庫是MySql

其他可選的配置如下

beetlsql.sqlManager1.daoSuffix=Mapper
beetlsql.sqlManager1.nameConversion=org.beetl.sql.core.UnderlinedNameConversion
beetlsql.sqlManager1.sqlPath=sql

分別表示Mapper的類的后綴是Mapper,使用UnderlinedNameConversion作為默認的列名和屬性名的轉化,以及SQL文件放到classpath的sql下

編寫java類,配置好ds1數(shù)據(jù)源

@Bean(name = "ds1")
    public DataSource datasource(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;
    }

然后,你就可以在代碼中使用BeetlSQL,比如SimpleTest

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SimpleApplication.class)
@Transactional
public class SimpleTest {
    @Autowired
    SQLManager sqlManager;
    @Autowired
    SimpleUserInfoMapper userInfoMapper;
    @Test
    public void test(){
        sqlManager.single(UserInfo.class,1);
        userInfoMapper.single(1);
    }
}

主從庫

BeetlSQL在多庫系統(tǒng)里,如果多庫是一個業(yè)務庫,則使用一個SQLManager管理,比如主從,或者多租戶,以主從庫為例子,SpringBoot的配置如下(多租戶例子參考工程源碼實例)

beetlsql = sqlManager1
beetlsql.sqlManager1.ds=masterDs,slaveDs1,slaveDs2

主要就是ds會有多個數(shù)據(jù)源配置,第一個為主庫,后面為從庫,如果事務是只讀事務且是查詢操作,則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;
    }

動態(tài)SQLManager

如果系統(tǒng)有多個業(yè)務庫,或者有傳統(tǒng)數(shù)據(jù)庫+SQL查詢引擎+物聯(lián)網(wǎng)時序庫,可以分別建立多個SQLManager,比如

beetlsql = sqlManager1,sqlManager2
beetlsql.sqlManager1.ds = ds1
beetlsql.sqlManager2.ds = queryDs

BeetlSQL也支持一個SQLManager,管理多個業(yè)務庫,內部實現(xiàn)是通過ConditionalSQLManager來實現(xiàn)的,動態(tài)決定使用哪個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的實現(xiàn)類是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”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:BeetlSQL3.0.0如何輕松集成Spring
文章轉載:http://jinyejixie.com/article24/gdpdje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作響應式網(wǎng)站、網(wǎng)站建設、自適應網(wǎng)站、商城網(wǎng)站、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司
喀什市| 公主岭市| 鹤岗市| 韩城市| 武平县| 社旗县| 宝坻区| 广南县| 成都市| 衡山县| 洪洞县| 遵义市| 沁水县| 巫山县| 白城市| 拉萨市| 永济市| 阿坝县| 科技| 肇庆市| 通州区| 兴业县| 共和县| 海盐县| 荣成市| 北海市| 开远市| 工布江达县| 信阳市| 禄丰县| 涪陵区| 古丈县| 罗田县| 莒南县| 漠河县| 长子县| 靖州| 蓝田县| 万宁市| 清新县| 南陵县|