首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

用 XML 封裝 SQL 實現資料庫操作標準化

     編輯:MySQL 資料庫相關知識

痛點

團隊成員寫法不一:有人用 SELECT * FROM user,有人用 SELECT ALL FROM user;WHERE、ORDER BY、LIKE 等子句更是五花八門。程式碼風格混亂導致維護成本高、Code Review 困難。

XML 封裝設計

定義統一結構 <DBTRANS>,屬性包含交易名稱、目標表、操作方法;子節點 <KEY>、<GET>、<PROPERTY> 分別描述主鍵條件、查詢欄位、資料型別與比對模式。

範例 1:簡單查詢

<DBTRANS name="selectUser" table="TBL_USER" method="select">
  <GET>
    <PROPERTY name="username" type="string" />
    <PROPERTY name="password" type="string" />
  </GET>
</DBTRANS>

對應 SQL:SELECT USERNAME, PASSWORD FROM TBL_USER

範例 2:帶主鍵條件

<DBTRANS name="selectUserByKey" table="TBL_USER" method="select">
  <KEY>
    <PROPERTY name="userid" type="long" />
  </KEY>
  <GET>
    <PROPERTY name="username" type="string" />
    <PROPERTY name="password" type="string" />
  </GET>
</DBTRANS>

對應 SQL:SELECT USERNAME, PASSWORD FROM TBL_USER WHERE USERID = ?

範例 3:LIKE 模糊比對

<PROPERTY name="username" type="string" match="like" />

對應 SQL:... WHERE USERNAME LIKE ?

範例 4:排序

<DBTRANS name="selectUser" table="TBL_USER" method="select">
  <GET>
    <PROPERTY name="username" type="string" />
  </GET>
  <ORDERBY>
    <PROPERTY name="username" order="DESC" />
  </ORDERBY>
</DBTRANS>

落地建議

  1. 制定 XML Schema (XSD) 強制驗證結構。
  2. 開發通用解析器:讀取 XML → 產生參數化 SQL → 執行並映射回實體物件。
  3. 納入 CI 流程:提交代碼時自動檢查是否使用標準 XML 定義。
  4. 支援 INSERT/UPDATE/DELETE/預存過程呼叫等擴充節點。

效益

  • 消除硬編碼 SQL,統一風格,降低維護認知負荷。
  • 參數化天然防注入,型別資訊可自動驗證輸入。
  • 新人只要學會 XML 定義,即可產出合規資料存取層。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved