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:[email protected]

|