NStarfaiNet 框架採用 XML 定義 SQL 陳述式,語法簡單易懂,類似 iBATIS.NET 但更輕量。本文說明其基本結構、動態查詢語法與變數處理特色。
所有 SQL XML 檔案遵循相同架構,根節點為 <statements>,包含 <select>、<insert>、<update>、<delete> 等陳述式節點。變數統一使用 $ 符號(如 $test_name$),不支援 #、? 等其他符號。
<?xml version="1.0" encoding="utf-8" ?>
<statements>
<select id="SelectTest">
select * from bsi_test where 1=1
<dynamics>
<dynamic prepend="and" property="test_name" value="upper(test_name)=upper('$test_name$')" />
</dynamics>
order by test_id
</select>
</statements>
<dynamics> 區塊允許根據屬性是否有值,自動決定是否加入 WHERE 條件,prepend 指定前綴關鍵字(如 and/or)。$property$ 形式嵌入,框架執行時自動替換為參數值,並處理特殊字元轉義,優於 iBATIS.NET 對 $ 的處理。此架構雖功能不如 iBATIS.NET 全面,但勝在輕量、上手快,適合需快速建構資料存取層的專案。