xml配置SQL語句


現在很多軟件都直接使用ORM框架來進行數據庫操作,也就此出現代碼優先。

ORM框架一個麻煩是效率和復雜查詢語句,在有些情況下並不好,而且難以控制生成的SQL.

另外一種則是直接寫SQL語句,對於c#來說就是ado.net.

還有類似spring.net的框架,但是遺憾的是配置SQL的庫還是有一定封閉性,基本和ORM綁定,或者需要自己操作數據庫,沒有將生成的SQL語句提供出來,我還沒有找到類似的。因此,輪子來了。

 采用XML配置SQL語句,一個語句就是一個Statement節點,攜帶ID屬性,ID標記需要使用的SQL方法,程序將自動反射調用的類名稱,方法名稱,分別作為xml文件名稱和節點名稱。然后解析xml;

 xml內部節點被映射成程序方法,主要有Isnotempty映射實體屬性為空判斷,Dynamic映射我們一般的條件判斷,引用了動態linq,

方法的參數映射成SQL的參數。

定義的主要節點:where ,set,choose,when,othersize,witch,case,default,page判斷連接

條件節點:IsNotEmpty,Dynamic

類似你會看見:

<Statement Id="Test" >

  select * from  test  where id=@id
  </Statement>

或者擴展

<Statement Id="Test" >

  select * from  test  

<where IsNotEmpty="name">

name=@name

</where>
  </Statement>

 

初步項目:https://github.com/jinyuttt/SmartXmlSql.git

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM