我的IBatisNet实践

2008-02-23 10:11:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


1.关于IBatis及IBatisNet

iBatis是又一个O/R Mapping解决方案,J2EE的O/R方案真是多,和Hibernate相比,iBatis最大的特点就

是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解

决方案。

iBatisNet是iBatis的.net版本。

iBatis及iBatisNet的主站是www.ibatis.com

//copyright 任飞扬

2.下载
http://www.ibatis.com/common/download.html
当然需要将IBatisNet.Common.dll,IBatisNet.DataMapper.dll,IBatisNet.DataAccess.dll等引用到

你的项目中
另外有一些数据库连接驱动包,在"NPetShop Example

Application"的范例中的目录"source\External-bin\"中可以找到.

下面进行实践第一个IBatisNet项目
1.数据库:
使用SQLServer2000:
在Northwind的test中建立表Person

CREATE TABLE [Person] (
[PER_ID] [int] NOT NULL ,
[PER_FIRST_NAME] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PER_LAST_NAME] [varchar] (40) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[PER_BIRTH_DATE] [datetime] NOT NULL ,
[PER_WEIGHT_KG] [float] NOT NULL ,
[PER_HEIGHT_M] [float] NOT NULL
)

2.添加配置文件
SqlMap.config(我的理解是:SqlMap.config是IBatisNet默认读取的配置文件,暂时不知道怎样使IBatisN

et读文件来取代SqlMap.config)
<?XML version="1.0" encoding="UTF-8" ?>
<sqlMapConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="SqlMapConfig.xsd">
<providers file="providers.config" />
<settings>
<setting useFullyQualifiedStatementNames="false" />
<setting cacheModelsEnabled="true" />
</settings>
<database>
<provider name="sqlServer1.1"></provider>
<dataSource name="iBatisTest"

connectionString="server=localhost;database=test;user id=sa;password=123;connection

reset=false;connection lifetime=5; min pool size=1; max pool size=50"/>
</database>
<sqlMaps>
<sqlMap resource="Person.xml" />
</sqlMaps>
</sqlMapConfig>

//<database>定义了数据库连接方法,我这里采用的是连接SQLServer2000的,你可以根据自己需要修改
//providers.config文件是配置数据库连接方式的文件,可以去下载官方的providers.config的文件,比较长,就不贴出来了


//copyright 任飞扬
3.加入映射文件Person.xml
<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="Person" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="SqlMap.xsd">
<alias>
<typeAlias alias="Person" assembly="iBatisTest.dll"

type="iBatisTest.Person" />
</alias>
<resultMaps>
<resultMap id="SelectAllResult" class="Person">
<result property="Id" column="PER_ID" />
<result property="FirstName" column="PER_FIRST_NAME" />
<result property="LastName" column="PER_LAST_NAME" />
<result property="BirthDate" column="PER_BIRTH_DATE" />
<result property="WeightInKilograms" column="PER_WEIGHT_KG" />
<result property="HeightInMeters" column="PER_HEIGHT_M" />
</resultMap>
</resultMaps>
<statements>
<select id="SelectAll" resultMap="SelectAllResult">
select
PER_ID,
PER_FIRST_NAME,
PER_LAST_NAME,
PER_BIRTH_DATE,
PER_WEIGHT_KG,
PER_HEIGHT_M
from PERSON
</select>
</statements>
</sqlMap>

//copyright 任飞扬
4.下面是测试代码:
private void Button1_Click(object sender, System.EventArgs e)
{

//IBatisNet.Common.Utilities.Resources.GetConfigAsXmlDocument(System.Web.HttpContext.Curren

t.Server.MapPath("SqlMap.xml"));
DataGrid1.DataSource =

Mapper.Instance().QueryForList("SelectAll",null);
DataGrid1.DataBind();
}

这个小实践项目在我的计算机通过。如果想交流,请email:rpyhappy123@21cn.com


上一篇: 初探Java类加载机制
下一篇: 我和RH9 J2sdk1.4.2 NPTL 不得不说的故事

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java RMI 简单示例

下一篇:Java网络编程的学习笔记(二)