IBatisNet实践

来源:互联网 发布:mysql怎样修改root密码 编辑:程序博客网 时间:2024/04/28 22:14

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

原创粉丝点击