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 阅读(342) 评论(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>
2.providers.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 阅读(474) 评论(1)
编辑