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

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章