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.ibeetl < artifactId >beetlsql < version >1.0.0
|
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 "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 實現已經有654次圍觀