這篇文章給大家介紹怎么淺談IBATIS.net中兩大常用的DAO,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比嵐皋網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式嵐皋網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋嵐皋地區(qū)。費用合理售后完善,十年實體公司更值得信賴。
在iBATIS.中我們可以靈活的選擇DAO類型,也就是可以在底層選用不同的數(shù)據(jù)庫操作方式。有常規(guī)方式、配置文件的方式、Hibernet的方式等:
1、常規(guī)方式
和我們之前的ADO.net開發(fā)較為類似,都是將sql語句寫在cs代碼中進行調(diào)用:
首先通過配置文件初始化:
DomDaoManagerBuilder builder = new DomDaoManagerBuilder(); builder.Configure("dao" + "_" + ConfigurationManager.AppSettings["database"] + "_" + ConfigurationManager.AppSettings["providerType"] + ".config"); daoManager = DaoManager.GetInstance("SimpleDao");
相對應的配置文件如下:
﹤context id="SimpleDao" default="true"﹥ ﹤properties resource="../../database.config"/﹥ ﹤!-- ==== SqlClient configuration (default provider) ========= --﹥ ﹤database﹥ ﹤!-- Optional ( default ) --﹥ ﹤provider name="sqlServer1.1"/﹥ ﹤dataSource name="iBatisNet" connectionString="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/﹥ ﹤/database﹥ ﹤daoFactory﹥ ﹤dao interface="IBatisNet.DataAccess.Test.Dao.Interfaces.IAccountDao, IBatisNet.DataAccess.Test" implementation="IBatisNet.DataAccess.Test.Dao.Implementations.Ado.AccountDao, IBatisNet.DataAccess.Test"/﹥ ﹤/daoFactory﹥ ﹤/context﹥
然后在對應的,比如AccountDao中寫具體的查詢sql等
2、配置方式
將sql語句放在配置文件中,書寫和修改較靈活,這也是比較常用的方式
首先通過配置文件初始化:
DomDaoManagerBuilder builder = new DomDaoManagerBuilder(); builder.Configure("dao" + "_" + ConfigurationManager.AppSettings["database"] + "_" + ConfigurationManager.AppSettings["providerType"] + ".config"); daoManager = DaoManager.GetInstance("SqlMapDao");
相對應的配置文件如下:
﹤context id="SqlMapDao"﹥ ﹤properties resource="../../database.config"/﹥ ﹤!-- ==== SqlClient configuration ========= --﹥ ﹤database﹥ ﹤dataSource name="iBatisNet" connectionString="data source=${datasource};database=${database};user id=${userid};password=${password};connection reset=false;connection lifetime=5; min pool size=1; max pool size=50"/﹥ ﹤/database﹥ ﹤daoSessionHandler id="SqlMap"﹥ ﹤!-- --﹥ ﹤property name="resource" value="SqlMap_MSSQL_SqlClient.config"/﹥ ﹤!-- ﹤property name="url" value="E:\Projet\iBatis\trunk\cs\mapper\IBatisNet.DataAccess.Test\bin\Debug\SqlMap_MSSQL_SqlClient.config"/﹥ --﹥ ﹤!-- ﹤property name="embedded" value="bin.Debug.SqlMap_MSSQL_SqlClient.config, IBatisNet.DataAccess.Test"/﹥ --﹥ ﹤/daoSessionHandler﹥ ﹤daoFactory﹥ ﹤dao interface="IBatisNet.DataAccess.Test.Dao.Interfaces.IAccountDao, IBatisNet.DataAccess.Test" implementation="IBatisNet.DataAccess.Test.Dao.Implementations.DataMapper.AccountDao, IBatisNet.DataAccess.Test"/﹥ ﹤/daoFactory﹥ ﹤/context﹥
然后可以將每一張表的sql語句單獨放在一個配置文件中,比如:
﹤select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" ﹥ select top $MaximumAllowed$ * from Accounts ﹤dynamic prepend="where"﹥ ﹤isParameterPresent﹥ ﹤isNotEmpty prepend="and" property="FirstName" ﹥ Account_FirstName LIKE '%$FirstName$%' ﹤/isNotEmpty﹥ ﹤isNotEmpty prepend="and" property="LastName" ﹥ Account_LastName LIKE '%$LastName$%' ﹤/isNotEmpty﹥ ﹤isNotEmpty prepend="and" property="EmailAddress" ﹥ Account_Email LIKE '%$EmailAddress$%' ﹤/isNotEmpty﹥ ﹤/isParameterPresent﹥ ﹤/dynamic﹥ order by Account_LastName ﹤/select﹥
3、使用Hibernet方式
也就是使用Hibernet的數(shù)據(jù)庫操作。
那么IBATIS.net中DAO的介紹就到這里,是不是對常用DAO有所了解了呢?
關于怎么淺談IBATIS.net中兩大常用的DAO就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
文章名稱:怎么淺談IBATIS.net中兩大常用的DAO
文章源于:http://bm7419.com/article8/jjepop.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、微信小程序、手機網(wǎng)站建設、品牌網(wǎng)站設計、虛擬主機、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)