beetlsql 1.0.0 正式發布,mybatis 的 beetl 實現

←手機掃碼閱讀     admin @ 2015-09-14 , reply:0

beetlsql 1.0.0 正式發布,此版本更新內容如下:

新增

1 mysql 資料庫支持
運行運行sql
3 spring,jfinal 集成
4 新增use 和 join 函數,use 可以重用sql片段和,join函數用於sql的 in語句
5 增加了只用master 庫運行和只用slave庫運行 的api,sqlManager.useMaster(DBRunner runner),sqlManager.useSlave(DBRunner runner)

修復
1 SQL模板錯誤提示行數不正確
2 jfinal 事務集成bug修復
3 完善DebugInterceptor,將執行結果包含進debug信息

maven

?
1
2
3
4
5
<dependency>
<groupId>com.ibeetlgroupId>
<artifactId>beetlsqlartifactId>
<version>1.0.0version>
dependency>

BeetSql是一個全功能DAO工具, 同時具有Hibernate 優點 & Mybatis優點功能,適用於承認以SQL為中心,同時又需求工具能自動能生成大量常用的SQL的應用。

  • 無需註解,自動生成大量內置SQL,輕易完成增刪改查功能

  • 數據模型支持Pojo,也支持Map/List這種快速模型,也支持混合模型

  • SQL 以更簡潔的方式,Markdown方式集中管理,同時方便程序開發和資料庫SQL調試。

  • SQL 模板基於Beetl實現,更容易寫和調試,以及擴展

  • 簡單支持關係映射而不引入複雜的OR Mapping概念和技術。

  • 具備Interceptor功能,可以調試,性能診斷SQL,以及擴展其他功能

  • 內置支持主從資料庫,通過擴展,可以支持更複雜的分庫分表邏輯

  • 支持跨資料庫平台,開發者所需工作減少到最小

代碼例


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 初始化部分:創建一個簡單的ConnectionSource,只有一個master庫
ConnectionSource source = ConnectionSourceHelper.simple(driver,url,userName,password);
// 採用mysql 習俗
DBStyle mysql = new MysqlStyle();
// sql語句放在classpagth的/sql 目錄下
SQLLoader loader = new ClasspathLoader("/sql"); 
// 資料庫命名跟java命名採用駝峰轉化
NameConversion nc = new  HumpNameConversion();
// 最後,創建一個SQLManager
SqlManager sqlManager = new SqlManager(source,mysql,loader); 
 
 
//使用內置的生成的sql 新增用戶
User user = new User();
user.setAge(19);
user.setName("xiandafu");
sqlManager.insert(user);
//使用內置sql查詢用戶
int id = 1;
user = sqlManager.unique(User.class,id);
 
 
//使用user.md 文件里的select語句,參考下一節
User query = new User();
query.setName("xiandafu");
List list = sqlManager.select("user.select",User.class,query)

sql例子(在user.md 文件里) 


1
2
3
4
5
6
7
8
9
select
===
select * from user where 1=1
@if(!isEmpty(age)){
and age = #age#
@}          
@if(!isEmpty(name)){
and name = #name#
@}




[admin ] beetlsql 1.0.0 正式發布,mybatis 的 beetl 實現已經有245次圍觀

http://coctec.com/news/all/show-post-204799.html