這篇文章主要為大家展示了“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í)行。
首先引入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ǒ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)