您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么淺談IBATIS.net中兩大常用的DAO,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在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");
相對應(yīng)的配置文件如下:
﹤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﹥
然后在對應(yīng)的,比如AccountDao中寫具體的查詢sql等
2、配置方式
將sql語句放在配置文件中,書寫和修改較靈活,這也是比較常用的方式
首先通過配置文件初始化:
DomDaoManagerBuilder builder = new DomDaoManagerBuilder(); builder.Configure("dao" + "_" + ConfigurationManager.AppSettings["database"] + "_" + ConfigurationManager.AppSettings["providerType"] + ".config"); daoManager = DaoManager.GetInstance("SqlMapDao");
相對應(yīng)的配置文件如下:
﹤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有所了解了呢?
關(guān)于怎么淺談IBATIS.net中兩大常用的DAO就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。