摘要:編者按還在為管理代碼中的語句而煩惱嗎讓幫你擺脫困境吧本文系工程師編譯整理注意使用其實會更簡單如果使用的是普通的沒有任何外部類庫的,那么就必須得自己去管理語句。同時,這也使得維護和測試嘗試從代碼中一條語句到客戶端運行更加困難。
【編者按】還在為管理 Java 代碼中的 SQL 語句而煩惱嗎?讓 Zemian 幫你擺脫困境吧!本文系 OneAPM 工程師編譯整理
**注意:**使用java.util.Properties#loadFromXML其實會更簡單!
如果使用的是普通的、沒有任何外部類庫的 Java JDBC,那么就必須得自己去管理 SQL 語句。很不幸的是,Java String 并不支持多行結構,所以開發者必須使用許多引號+連接符來拼接語句,這會使得 SQL 語句非常難于閱讀和管理。同時,這也使得維護和測試(嘗試從 Java 代碼中 Copy 一條 SQL 語句到 SQL 客戶端運行)更加困難。如果能保證整條 SQL 語句完好無缺,又避免了 Java 的干擾,那該有多好啊!
這里有個快速解決方案,把 SQL 查詢語句存儲在 XML 的 CDATA 里面:
getUser getSpecialCodeByUserId
如果現在再去讀 SQL 語句,開發者可以利用內建的 JAXB。
import javax.xml.bind.annotation.XmlRootElement; import java.util.HashMap; import java.util.Map; @XmlRootElement public class SqlMap { Mapsqls = new HashMap<>(); public Map getSqls() { return sqls; } public void setSqls(Map sqls) { this.sqls = sqls; } public String getSql(String name) { return sqls.get(name); } public static SqlMap load(String name) throws Exception { String xml = Utils.loadString(name); SqlMap sqlMap = unmarshallXML(xml ); return sqlMap; } }
**原文鏈接:**How to Store and Manage SQL Statements More Effectively With Java
本文系 OneAPM 工程師編譯整理。想閱讀更多技術文章,請訪問 OneAPM 官方博客。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64429.html
摘要:只用語句,也能完成很多事情,如果不夠,你還可以調用數據庫的特定功能和存儲過程。在中,并沒有針對存儲過程的實際支持,本地查詢是調用存儲過程的唯一方式。規范引入了幾個新的功能以應對這些低效操作,比如實體圖,條件更新和存儲過程查詢。 經常在網上看到開發者們抱怨 JPA 性能低下的帖子或文章,但如果仔細查看這些性能問題,常會發現導致問題的根本原因大致包括以下幾個: 使用過多的 SQL 查詢從...
閱讀 3203·2021-11-08 13:18
閱讀 1360·2021-10-09 09:57
閱讀 1189·2021-09-22 15:33
閱讀 3979·2021-08-17 10:12
閱讀 5068·2021-08-16 11:02
閱讀 2684·2019-08-30 10:56
閱讀 970·2019-08-29 18:31
閱讀 3257·2019-08-29 16:30