IBatis.Net学习笔记三--两种常用的DAO

在IBatis中我们可以灵活的选择DAO类型,也就是可以在底层选用不同的数据库操作方式。有常规方式、配置文件的方式、Hibernet的方式等:
1、常规方式
和我们之前的ADO.NET开发较为类似,都是将sql语句写在cs代码中进行调用:
首先通过配置文件初始化:
IBatis.Net学习笔记三--两种常用的DAO             DomDaoManagerBuilder builder  =   new  DomDaoManagerBuilder();
IBatis.Net学习笔记三--两种常用的DAO            builder.Configure(
" dao "   +   " _ "   +  ConfigurationManager.AppSettings[ " database " +   " _ "
IBatis.Net学习笔记三--两种常用的DAO                
+  ConfigurationManager.AppSettings[ " providerType " +   " .config " );
IBatis.Net学习笔记三--两种常用的DAO            daoManager 
=  DaoManager.GetInstance( " SimpleDao " );        
IBatis.Net学习笔记三--两种常用的DAO
相对应的配置文件如下:
IBatis.Net学习笔记三--两种常用的DAO      < context id = " SimpleDao "   default = " true " >
IBatis.Net学习笔记三--两种常用的DAO        
< properties resource = " ../../database.config " />
IBatis.Net学习笔记三--两种常用的DAO        
IBatis.Net学习笔记三--两种常用的DAO        
<!--   ====  SqlClient configuration ( default  provider)  =========      -->
IBatis.Net学习笔记三--两种常用的DAO        
< database >
IBatis.Net学习笔记三--两种常用的DAO            
<!--  Optional (  default  )  -->
IBatis.Net学习笔记三--两种常用的DAO            
< provider name = " sqlServer1.1 " />
IBatis.Net学习笔记三--两种常用的DAO            
< 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 " />
IBatis.Net学习笔记三--两种常用的DAO        
</ database >
IBatis.Net学习笔记三--两种常用的DAO        
IBatis.Net学习笔记三--两种常用的DAO        
< daoFactory >
IBatis.Net学习笔记三--两种常用的DAO            
< dao  interface = " IBatisNet.DataAccess.Test.Dao.Interfaces.IAccountDao, IBatisNet.DataAccess.Test "  implementation = " IBatisNet.DataAccess.Test.Dao.Implementations.Ado.AccountDao, IBatisNet.DataAccess.Test " />
IBatis.Net学习笔记三--两种常用的DAO        
</ daoFactory >
IBatis.Net学习笔记三--两种常用的DAO    
</ context >
然后在对应的,比如AccountDao中写具体的查询sql等

2、配置方式
将sql语句放在配置文件中,书写和修改较灵活, 这也是比较常用的方式
首先通过配置文件初始化:
IBatis.Net学习笔记三--两种常用的DAO             DomDaoManagerBuilder builder  =   new  DomDaoManagerBuilder();
IBatis.Net学习笔记三--两种常用的DAO            builder.Configure(
" dao "   +   " _ "   +  ConfigurationManager.AppSettings[ " database " +   " _ "
IBatis.Net学习笔记三--两种常用的DAO                
+  ConfigurationManager.AppSettings[ " providerType " +   " .config " );
IBatis.Net学习笔记三--两种常用的DAO            daoManager 
=  DaoManager.GetInstance( " SqlMapDao " );        
相对应的配置文件如下:
IBatis.Net学习笔记三--两种常用的DAO      < context id = " SqlMapDao " >
IBatis.Net学习笔记三--两种常用的DAO        
< properties resource = " ../../database.config " />
IBatis.Net学习笔记三--两种常用的DAO        
<!--   ====  SqlClient configuration  =========      -->
IBatis.Net学习笔记三--两种常用的DAO        
< database >
IBatis.Net学习笔记三--两种常用的DAO            
< 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 " />
IBatis.Net学习笔记三--两种常用的DAO        
</ database >         
IBatis.Net学习笔记三--两种常用的DAO        
IBatis.Net学习笔记三--两种常用的DAO        
< daoSessionHandler id = " SqlMap " >
IBatis.Net学习笔记三--两种常用的DAO            
<!--               -->
IBatis.Net学习笔记三--两种常用的DAO            
< property name = " resource "  value = " SqlMap_MSSQL_SqlClient.config " />
IBatis.Net学习笔记三--两种常用的DAO
IBatis.Net学习笔记三--两种常用的DAO            
<!--   < property name = " url "  value = " E:\Projet\iBatis\trunk\cs\mapper\IBatisNet.DataAccess.Test\bin\Debug\SqlMap_MSSQL_SqlClient.config " />
IBatis.Net学习笔记三--两种常用的DAO            
-->
IBatis.Net学习笔记三--两种常用的DAO            
<!--  
IBatis.Net学习笔记三--两种常用的DAO            
< property name = " embedded "  value = " bin.Debug.SqlMap_MSSQL_SqlClient.config, IBatisNet.DataAccess.Test " />  
IBatis.Net学习笔记三--两种常用的DAO            
-->
IBatis.Net学习笔记三--两种常用的DAO        
</ daoSessionHandler >
IBatis.Net学习笔记三--两种常用的DAO        
IBatis.Net学习笔记三--两种常用的DAO        
< daoFactory >
IBatis.Net学习笔记三--两种常用的DAO            
< dao  interface = " IBatisNet.DataAccess.Test.Dao.Interfaces.IAccountDao, IBatisNet.DataAccess.Test "  implementation = " IBatisNet.DataAccess.Test.Dao.Implementations.DataMapper.AccountDao, IBatisNet.DataAccess.Test " />
IBatis.Net学习笔记三--两种常用的DAO        
</ daoFactory >
IBatis.Net学习笔记三--两种常用的DAO    
</ context >
然后可以将每一张表的sql语句单独放在一个配置文件中,比如:
IBatis.Net学习笔记三--两种常用的DAO          < select id = " GetAccountsDynamic "  resultMap = " account-result "  parameterClass = " Hashtable "   >
IBatis.Net学习笔记三--两种常用的DAO            select top $MaximumAllowed$ 
*  from Accounts
IBatis.Net学习笔记三--两种常用的DAO            
< dynamic prepend = " where " >
IBatis.Net学习笔记三--两种常用的DAO                    
< isParameterPresent >
IBatis.Net学习笔记三--两种常用的DAO                    
< isNotEmpty prepend = " and "  property = " FirstName "   >
IBatis.Net学习笔记三--两种常用的DAO                            Account_FirstName LIKE 
' %$FirstName$% '
IBatis.Net学习笔记三--两种常用的DAO                    
</ isNotEmpty >
IBatis.Net学习笔记三--两种常用的DAO                    
< isNotEmpty prepend = " and "  property = " LastName "   >
IBatis.Net学习笔记三--两种常用的DAO                            Account_LastName LIKE 
' %$LastName$% '
IBatis.Net学习笔记三--两种常用的DAO                    
</ isNotEmpty >
IBatis.Net学习笔记三--两种常用的DAO                    
< isNotEmpty prepend = " and "  property = " EmailAddress "    >
IBatis.Net学习笔记三--两种常用的DAO                            Account_Email LIKE 
' %$EmailAddress$% '
IBatis.Net学习笔记三--两种常用的DAO                    
</ isNotEmpty >
IBatis.Net学习笔记三--两种常用的DAO                    
</ isParameterPresent >
IBatis.Net学习笔记三--两种常用的DAO                
</ dynamic >
IBatis.Net学习笔记三--两种常用的DAO                order by Account_LastName
IBatis.Net学习笔记三--两种常用的DAO        
</ select >

3、使用Hibernet方式
也就是使用Hibernet的数据库操作。

你可能感兴趣的:(ibatis)