iBATIS.NET 学习记录

一、资料部分

    iBATIS主页: http://www.mybatis.org/

 

    Anders Cui博客园iBATIS.NET小组:http://space.cnblogs.com/group/ibatis/

    入门资料:http://blog.csdn.net/fangxinggood/archive/2010/03/15/5383644.aspx

                  http://blog.csdn.net/aspgreener/archive/2008/07/18/2670278.aspx

 

二、iBATIS部署

    iBATIS.NET作为.net组件无需安装,从主页下载后,可直接引用其DLL。

    其核心DLL为:

    IBatisNet.Common.dll

    IBatisNet.DataMapper.dll

 

三、实战

   1. 数据准备工作(数据库使用SQL Server2005 express版)

    建立数据库Test及将要用到的Person表,表规则如下:

    列名      数据类型  

    PersonID    int

    PersonName   varchar(50)

    PersonAddress varchar(250)

    CreateDate   datetime

 

    测试并保证在VS2008下能顺利连接到数据库。

 

期间,碰到如下问题——错误消息为:Unable to open connection to "Microsoft SQL Server, provider V2.0.0.0 in framework .NET V2.0".

a. 无法正确连接到数据库,错误消息为:用户sa登录失败,该用户与可信sql server连接无关联

   参照以下博客解决:http://hi.baidu.com/try_and_trying/blog/item/a281bb127ddade2bdd5401ac.html

   具体为:开启“SQL SERVER和WINDOWS身份验证模式”;

              启动tcp/ip连接;

              保证登录用户有相应权限(改为‘db-owner’和‘public’)

b. 无法添加数据表记录,错误消息为:不能将值 NULL 插入列 'PersonID',列不允许有空值。INSERT 失败。

    解决方案:http://hi.baidu.com/zlku/blog/item/ff3f81031775ba074afb51d6.html/cmtid/e9f70fd6b8472bd6a044df24

    具体为:设置PersonID列标识规范为“是”

 

    2. iBATIS.NET配置

    iBATIS.NET配置文件主要有两个(在源文件夹下有样例,可拷贝至解决方案进行适当调整):

    SqlMap.config (配置SQL文件的存放位置方式,对应的DB类型,连接字符串)

    providers.config(低层数据提供程序的DLL,不用特别关心)

 

关于详细配置,可参阅:http://www.cnblogs.com/guyuehuanhuan/archive/2010/12/10/1901752.html    

 

    3. 编码实现

    a. iBATIS.NET部分

    修改SqlMap.config下的database结点,使其指向SqlServer数据库。

    修改provider.config,将SqlMap.config中指定的连接标识(sqlServer2.0)激活(enabled="true",iBATIS.NET似乎是大小写敏感的,此处换为TRUE无法通过)

    为数据库表Person添加对应的SQL查询配置文件(Person.xml)

 

    b. C#部分

    通过配置文件初始化实例

 
  
DomSqlMapBuilder builder = new DomSqlMapBuilder();
ISqlMapper Map
= builder.Configure( " SqlMap.config " );

 

    查询所有记录:

 
  
IList < Person > persons = m_Map.QueryForList < Person > ( " SelectAll " , null )

 

    追加新记录:

    

 
  
Person newPerson = new Person();
newPerson.PersonName
= txtName.Text;
newPerson.PersonAddress
= txtAddress.Text;
newPerson.CreateDate
= DateTime.Now;

m_Map.Insert(
" InsertPerson " , newPerson);

 

 

源码

转载于:https://www.cnblogs.com/nickyxu/archive/2010/12/19/iBatisnet.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值