最简单的IBatis for .net实现

 
       看过IBatis在Java下简单的实现所以写个.net下IBatis最简单的实现,下面我来介绍下我的做法。
       需要引入Castle.DynamicProxy.dll、IBatisNet.Common.dll、IBatisNet.DataAccess.dll和IBatisNet.DataMapper.dll四个DLL。
       首先是需要一个测试的用的数据库(Test)下的一张表(Table1)有两个字段:col1,col2,还有一个和数据库对应的类Table1,代码如下:
     public class Table1
    {
        private string _col1;
        private string _col2;
        public string col2
        {
            get { return _col2; }
            set { _col2 = value; }
        }
        public string col1
        {
            get { return _col1; }
            set { _col1 = value; }
        }  
}
然后,需要添加三个配置文件: provider.config,dao.config,SqlMap.config,其中provider.config可以直接添加IBatis提供的文件,dao.config主要配置数据库连接和接口类,SqlMap存储具体的XML路径。将IBatis提供的三个XML模板复制到Microsoft Visual Studio 8/Xml/Schemas下面。
dao.config:
<? xml version =" 1.0"encoding="utf-8"?>
< daoConfig     xmlns =" http://ibatis.apache.org/dataAccess"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   < providers resource =" providers.config"/>
   < context id =" SqlMapDao"default="true">
       <!-- Database connection information -->
       < database >
           < provider name =" sqlServer2.0"/>
           < dataSource name =" Test"connectionString="server='localhost';uid=**;password=****;database='Test';Min Pool Size=7;Max Pool Size=50"/>
       </ database >
       < daoSessionHandler id =" SqlMap">
           < property name =" sqlMapConfigFile"value="SqlMap.config"/>
       </ daoSessionHandler >       
       < daoFactory >
           <! 因为是简单实现所以不演示接口实现------>
       </ daoFactory >
 
   </ context
</ daoConfig >
 
SqlMap.config:
<? xml version =" 1.0"encoding="utf-8"?>
< sqlMapConfig    xmlns =" http://ibatis.apache.org/dataMapper"   http://www.w3.org/2001/XMLSchema-instance">
 < settings >
    < setting useStatementNamespaces =" false"/>
 </ settings >
   < sqlMaps >
    < sqlMap resource =" Maps/Table1.xml"/>
   </ sqlMaps >
</ sqlMapConfig >
sqlMap.config中有一个Table1.xml,我就是通过它来存储具体的SQL语句的.
Table1.XML:
<? xml version =" 1.0"encoding="utf-8" ?>
< sqlMap xmlns =" http://ibatis.apache.org/mapping"namespace ="Table1">
 < alias >
    < typeAlias alias =" Table1"type ="MyIBatis.Table1"/>
 </ alias >
 
 < statements >
    < insert id =" InsertTable1"parameterClass ="Table1">
      insert into Table1
      (col1,col2)
      values(#col1#,#col2#)
    </ insert >
 </ statements >
</ sqlMap >
 
最后通过我们来实现在一个类里面实现在Table1.XML里的InsertTable1的方法,具体如下:
using System;
using System.Collections.Generic;
using System.Text;
using IBatisNet.DataAccess.Configuration;
using IBatisNet.DataMapper;
using IBatisNet.DataAccess;
using IBatisNet.DataAccess.DaoSessionHandlers;
 
namespace MyIBatis
{
    public class Test
    {
        public void TestInert()
        {
            DomDaoManagerBuilder builder = new DomDaoManagerBuilder();
            builder.Configure();//用来注册dao.config
            Table1 t1= new Table1();
            t1.col1="col";
            t1.col2="col2";
 
            IDaoManager daoManager = DaoManager.GetInstance();
            daoManager.OpenConnection();
            SqlMapDaoSession sqlMapDaoSession = (SqlMapDaoSession)daoManager.LocalDaoSession;
            ISqlMapper sqlMapper = sqlMapDaoSession.SqlMap;
            sqlMapper.Insert("InsertTable1",t1);
        }
    }
}
 
这样就实现了一个简单的 IBatis应用,怎么样是不是很简单?这个东西其实一点都不简单,很适用哦。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值