Member.xml

<?xml version="1.0" encoding="utf-8" ?>

<sqlMap namespace="MemberInfo" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

namespace就是useStatementNamespaces对应的namespace

     <alias>

         <typeAlias    alias="Member"                   此map映射的类名

assembly="ETest.dll"             引用的程序集

type="ETest.test.Member"         对应项目中的累

 />   

     </alias>

     <resultMaps>                                        返回的所有结果类

         <resultMap                                      返回的一个结果类

id="MemberMap"                    id,对应下面select等语句返回的map

class="Member">                   对应alias中映射的类名

              <result property="Name"                    对应alias中映射的类的属性

column="Name"          />         对应返回结果中的列表对应到类的属性

              <result property="CardNO"           

column="CardNO"        />         为了解释采用这种格式,见谅

         </resultMap

     </resultMaps>

     <statements>

     <select id="SelectMember"                           方法id,在程序中被调用

resultMap="MemberMap"                      对应resultMap中相应的id

parameterClass="int">                      参数集合,如为int,string等单值,则语句中

                                           参数位置使用#value#        

SELECT CardNo,Name FROM Member Where UserID = #value#

     </select>

     <update id="SaveMember"

parameterClass="Member"                    参数集合Member,对应相应操作的类

resultClass="int">

         UPDATE  Member set

CardNo = #CardNo#,                    #CardNo#对应 Member的属性CardNo

Name =#Name#                          #Name#对应Member的属性Name

where    UserID =#UserID#                      #UserID#对应 Member的属性UserID

    </update>

      

     <delete id="DeleteMember" parameterClass="int">

              delete 

              from Member

              where UserID = #value#

         </delete>

     </statements>     

</sqlMap>

明天将Member类以及相关方法以及数据库复合查询放出

posted @ 2009-02-11 17:59 Roc_Lee 阅读(389) 评论(1) 编辑

最近有个项目使用了IBatisNet,稍微细致的研究了一下,也落俗套的写了一些教程,希望促进共同交流

1。先交代一下何为IBatisNet

IBatisNet是一个ORM(Object Relational Mapping,对象关系映射)框架,着重于ORM中的M(Mapping),通过使用XML文档在sql语句和实体对象之间建立映射。是IBatis的.NET版本

 2 。IBatisNet配置文件详解

  SqlMap.config Map配置文件

<?xml version="1.0" encoding="utf-8"?>

<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<settings>

         <setting useStatementNamespaces="false"/>  是否使用sqlMap节点中的namespace

         <setting cacheModelsEnabled="true"/>       是否启用缓存机制

         <setting validateSqlMap="false"/>          是否需要使用SqlMapConfig.xsd schema验证隐射

     </settings>

     <database>

         <provider name="sqlServer1.1"/>            provider获取providers.config中对应的属性

         <dataSource name="ConnectString" connectionString="server=.;database=Test;user id=sa;password=sa;Connection Reset=FALSE;Min Pool Size=1;Max Pool Size=100"/>

                                                    数据库链接

     </database>

     <sqlMaps>

<sqlMap resource="maps/Member.xml"/>       Map文件加载的路径,如果要加载多个,按此格式写下去

     </sqlMaps>

</sqlMapConfig>

2providers.config 数据库链接配置文件

<?xml version="1.0" encoding="utf-8"?>

<providers xmlns="http://ibatis.apache.org/providers" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

     <clear/>

     <provider

         name="sqlServer1.0"

         enabled="false"

         assemblyName="System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

         connectionClass="System.Data.SqlClient.SqlConnection"

         commandClass="System.Data.SqlClient.SqlCommand"

         parameterClass="System.Data.SqlClient.SqlParameter"

         parameterDbTypeClass="System.Data.SqlDbType"

         parameterDbTypeProperty="SqlDbType"

         dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"

         commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder"

         usePositionalParameters = "false"

         useParameterPrefixInSql = "true"

         useParameterPrefixInParameter = "true"   

         parameterPrefix="@"

         />  

     <provider

         name="sqlServer1.1"

         enabled="true"               //默认数据库设置为true        

         assemblyName="System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

         connectionClass="System.Data.SqlClient.SqlConnection"

         commandClass="System.Data.SqlClient.SqlCommand"

         parameterClass="System.Data.SqlClient.SqlParameter"

         parameterDbTypeClass="System.Data.SqlDbType"

         parameterDbTypeProperty="SqlDbType"

         dataAdapterClass="System.Data.SqlClient.SqlDataAdapter"

         commandBuilderClass="System.Data.SqlClient.SqlCommandBuilder"   

         usePositionalParameters = "false"   

         useParameterPrefixInSql = "true"

         useParameterPrefixInParameter = "true"                 

         parameterPrefix="@"

     />  

<providers>

可以获取官方文件,获得相应数据库的provider

posted @ 2009-02-11 17:44 Roc_Lee 阅读(535) 评论(1) 编辑