怎么淺談IBATIS.net中兩大常用的DAO

這篇文章給大家介紹怎么淺談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)

成都網(wǎng)站建設