歡迎您光臨本站 註冊首頁

jSqlBox 4.0.8 釋出,在 Java 裡直接寫 SQL 的 ORM 工具

←手機掃碼閱讀     admin @ 2020-08-14 , reply:0

jSqlBox主要特點是架構優、尺寸小、功能全,基本上所有與資料庫操作相關的功能,jSqlBox都已提供。它的主要特點有:  
1.核心基於DbUtils並與之相容。  
2.提倡在java裡拼寫SQL,獨創引數內嵌式SQL寫法, 而且任意CRUD方法裡都可以混插SQl片段,例如:  
  new Demo().setName("張三").insert().putField("age", 15).update(" and name=?", param("李四"), " or age>? ",param(20));
3.只有單個1M大小的jar包,不依賴任何第三方庫,不依賴Spring。  
4.支援分庫分表、宣告式事務、分散式事務,快取翻譯。  
5.支援80多種資料庫方言,支援DDL生成、實體或資料庫結構匯出Excel,分頁、函式變換、實體原始碼生成。  
6.學習成本低,相容主要的實體JPA註解。 

在Java中直接寫SQL是jSqlBox的主要特點之一,可能有人問XML或其它模板方式寫SQL不香嗎? 是的,用XML之類的模板有以下幾個缺點:
1. 需要與外掛配合才可以定位SQL,而且通常不支援SQL標記符的重構。 
2. XML中的佔位符,在實際呼叫時是需要賦值的,這相當於又重複敲了一遍程式碼。很多人一看模板方式寫SQL很簡潔,但不要忘記了,模板是需要賦值的,賦值語句也是要佔用原始碼行數的,一旦變數名變動,需要同時在模板和賦值語句兩處修改。   
3. XML 之類的模板如果要寫自定義函式很困難,而使用Java則沒有這個問題。 
4. XML需要單獨的檔案存放,而且如果要在前端直接寫SQL,則XML檔案沒法儲存。(參見本人GoSqlGo專案)  

本次(jSqlBox4.0.8.jre8)更新內容:

把實體結構或資料庫結構導出到Excel中

1.實體結構匯出
以下語句會掃描指定包domain,把此包下的所有實體類的結構輸出為Excel的CSV格式:


  TableModelUtils.entityPackage2Excel("com.abc.domain", "d:/packageOutput.csv");
 

也可以指定具體的實體類匯出,如:


 TableModelUtils.entity2Excel("d:/entitiesOutput.csv", User.class, Customer.class, Order.class);
 

以下為導出的Excel示例:
entityToExcelDemo

2.將資料庫結構匯出為Excel的CSV格式,第二個引數為方言型別:


 @Autowired
 DataSource ds;
 
 TableModelUtils.db2Excel(ds.getConnection(), Dialect.MySQL57Dialect, "d:/dbOutput.csv");
 

以下是導出的Excel示例:
db2ExcelDemo

匯出Excel功能目前只有固定的這幾個方法。如果有不同格式、語言的匯出需求,可以參照jSqlBox中的TableModelUtilsOfExcel.java原始碼寫一個你自已的工具類即可,TableModelUtilsOfExcel.java這個工具類只有168行原始碼,相信在這個基礎上你可以很快寫出你想要的Excel輸出工具來。

匯出Excel有專用的工具或專門的專案,為什麼jSqlBox要開發這個功能?不為別的,只因為jSqlBox能做到,從架構上jSqlBox內含了jDialects方言子專案,能輕而易舉實現匯出Excel這個功能,這個是早就有的打算,原始碼中早就註明瞭會有這個功能,不是為了跟風。 


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/117924/jsqlbox-4-0-8-released
jSqlBox 4.0.8 釋出,在 Java 裡直接寫 SQL 的 ORM 工具已經有26次圍觀

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