擴充閱讀
linq
querydsl
Jinq 是什麼?
Jinq為開發者提供了一種在Java中編寫資料庫查詢的簡單自然的方式。
你可以像處理儲存在集合中的普通Java物件一樣處理資料庫資料。你可以使用普通的Java命令遍歷和過濾它們,而你的所有程式碼都將自動轉化為最佳化的資料庫查詢。
最後,Java終於有了LINQ風格的查詢!
簡單自然的查詢。
使用Jinq,你可以使用簡單自然的Java語法編寫資料庫查詢。利用Java 8對函數語言程式設計的新支援,你可以使用與常規Java資料相同的程式碼來過濾和轉換資料庫中的資料。
例如,下面是一段使用Jinq從資料庫中獲取所有名為“Alice”的客戶的Java程式碼。
database.customerStream().where(
customer -> customer.getName().equals("Alice"));
程式碼執行流程如下:
從資料庫中獲取所有客戶的流
使用函式訪問每個客戶物件並進行過濾
只返回名為“Alice”的客戶
當在Java中執行此程式碼時,Jinq將自動將程式碼轉換為資料庫可以理解的SQL查詢。
PreparedStatement s = con.prepareStatement("SELECT * "
"FROM Customer C "
"WHERE C.Name = ? ");
s.setString(1, "Alice");
ResultSet rs = s.executeQuery();
更少的錯誤。更少的安全漏洞。更快的開發速度。
現有的資料庫查詢寫在字串內部。為了檢查錯誤,你必須啟動資料庫並執行查詢。這會減慢開發速度並導致更多錯誤。
Jinq查詢是普通的Java程式碼,Java編譯器將早期捕獲錯誤,加快開發速度。由於查詢被編寫為Java程式碼,因此不可能出現常見的SQL隱碼攻擊安全問題。
立即嘗試
Jinq是開源的。現在下載並按照入門指南學習更多關於其功能的資訊。
參考資料
https://www.jinq.org/
本文由部落格一文多發平臺 OpenWrite 釋出!