您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么淺談IBATIS.net中兩大常用的DAO,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
在iBATIS.中我們可以靈活的選擇DAO類型,也就是可以在底層選用不同的數據庫操作方式。有常規方式、配置文件的方式、Hibernet的方式等:
1、常規方式
和我們之前的ADO.net開發較為類似,都是將sql語句寫在cs代碼中進行調用:
首先通過配置文件初始化:
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的數據庫操作。
那么IBATIS.net中DAO的介紹就到這里,是不是對常用DAO有所了解了呢?
關于怎么淺談IBATIS.net中兩大常用的DAO就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。