SqlHelper簡單實現(通過Expression和反射)1.引言


之前老大說要改變代碼中充斥着各種Select的Sql語句字符串的情況,讓我嘗試着做一個簡單的SqlHelper,要具有以下功能:

1.不要在業務代碼中暴露DataTable或者DataSet類型;

2.可以完成Select操作,需要支持條件查詢,分頁,單條記錄查詢,排序,連表,單個值;

3.可以完成添加單條記錄,添加多條記錄,修改記錄和刪除記錄;

4.使用過程中要兼容老代碼,既允許直接傳入Sql;

5.要同時兼容MySql和Sql Server。

我之前寫過很多Linq的代碼,對那種函數式編程很是喜歡,所以考慮可否按照Lambda表達式來生成Sql。對於這部分的內容有很多,所以我單開一個系列來分享一下我的解決方案:

解決方案的結構如下:

 傳送門:

SqlHelper簡單實現(通過Expression和反射)1.引言

SqlHelper簡單實現(通過Expression和反射)2.特性和實體設計

SqlHelper簡單實現(通過Expression和反射)3.實體,數據傳輸對象(DTO)Helper類設計

SqlHelper簡單實現(通過Expression和反射)4.對象反射Helper類

SqlHelper簡單實現(通過Expression和反射)5.Lambda表達式解析類

SqlHelper簡單實現(通過Expression和反射)6.Providor模式(工廠+策略)可配置數據庫選擇

SqlHelper簡單實現(通過Expression和反射)7.MySql數據處理類

SqlHelper簡單實現(通過Expression和反射)8.Sql Server數據處理類

SqlHelper簡單實現(通過Expression和反射)9.Sql表述對象SqlSession

SqlHelper簡單實現(通過Expression和反射)10.使用方式


免責聲明!

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



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