IBatis学习
(1)建立
SqlMap.config文件
<?xml version="1.0" encoding="utf-8" ?>
<sqlMapConfig
  xmlns="http://ibatis.apache.org/dataMapper"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!--<properties resource="SqlMap.properties"/>-->
<settings>
    <setting useStatementNamespaces="false"/>
    <setting cacheModelsEnabled="false"/>
  </settings>
<!--<providers embedded="WHTR.PPMoney.DaoCfg.providers.config, WHTR.PPMoney.DaoCfg" />-->
  <providers resource="providers.config"/>
<database>
    <provider name="sqlServer2005"/>
    <dataSource name="pp" connectionString="server=192.168.1.2;database=DB1;user id=sa;password=123"/>
  </database>
<sqlMaps>
 
    <sqlMap  resource="Person.xml"/> 
  </sqlMaps>
</sqlMapConfig>
(2) 建立 Person.xml
<?xml version="1.0" encoding="utf-8" ?>
<!--<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">-->
<sqlMap namespace=""  xmlns="http://ibatis.apache.org/mapping"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <alias>
  <typeAlias alias="Person" type="Ibatis.PersonModel"/>
  </alias>                               
  <statements>
  <select id="selectAllPerson" resultClass="Person">
    select top 1 * from
    Person
  </select>
    <insert id="insertPerson">
      insert into Person(name)
      values(#name#)
      <selectKey property="Id" resultClass="int" type="post">
      select value = @@IDentity
    </selectKey>
    </insert>  
  </statements>
</sqlMap>
(3)建立 PersonModel类
namespace Ibatis
{
    public class PersonModel
    {
        public int Id
        {
            get;
            set;
        }
public string Name
        {
            get;
            set;
        }
    }
}
(4) 建立Dao
public class BaseDao
    {
        public static ISqlMapper _sqlMap = null;
        static BaseDao()
        {
              _sqlMap = Mapper.Instance();
        }
    }
public class PersonDao : BaseDao
   {
       public IList<PersonModel> GetList()
       {
           ISqlMapper mapper = _sqlMap;
           IList<PersonModel> ListPerson = mapper.QueryForList<PersonModel>("selectAllPerson", null);  //这个"SelectAllPerson"就是xml映射文件的Id
           return ListPerson;
       }
public int AddPerson(PersonModel person)
        {
            Hashtable ht = new Hashtable();
            ht.Add("name",person.Name);
            object o = _sqlMap.Insert("insertPerson", ht);
            return Convert.ToInt16(o);
        }
   }
(5) 使用方法
class Program
    {
        static void Main(string[] args)
        {
          var person=new PersonModel(){Name="zhang"};
PersonDao dao = new PersonDao();
           int id= dao.AddPerson(person);
            IList<PersonModel> ListPerson = dao.GetList();
            foreach (PersonModel p in ListPerson)
            {
                Console.WriteLine(p.Id + p.Name);
            }
Console.ReadKey();
}
    }
IBatis学习的更多相关文章
- 【web开发学习笔记】ibatis学习总结
		ibatis学习总结 ibatis数据库配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ... 
- ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET
		body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ... 
- Ibatis学习总结6--使用 SQL Map API 编程
		SQL Map API 力求简洁.它为程序员提供 4 种功能:配置一个 SQL Map,执行 SQL update操作,执行查询语句以取得一个对象,以及执行查询语句以取得一个对象的 List. 配置 ... 
- Ibatis学习总结4--SQL Map XML 映射文件扩展
		SQL Map XML 映射文件除了上文提到的属性还有一些其他重要的属性,下文将详细介绍这些属性. 缓存 Mapped Statement 结果集 通过在查询 statement 中指定 cacheM ... 
- Ibatis学习总结3--SQL Map XML 映射文件
		在前面的例子中,只使用了 SQL Map 最简单的形式.SQL Map 的结构中还有其他更多 的选项.这里是一个 mapped statement 较复杂的例子,使用了更多的特性. <sqlMa ... 
- Ibatis学习总结2--SQL Map XML 配置文件
		SQL Map 使用 XML 配置文件统一配置不同的属性,包括 DataSource 的详细配置信息, SQL Map 和其他可选属性,如线程管理等.以下是 SQL Map 配置文件的一个例子: Sq ... 
- Ibatis学习总结1--ibatis简介和SQL Maps
		最佳维护的一个项目使的是ibatis框架,在闲暇之余将手头的开发手册和平时开发的理解做一下总结,言归正传. 简介 使用 SQL Map,能够大大减少访问关系数据库的代码.SQL Map 使用简单的 X ... 
- Ibatis学习记录
		几大要素:1.jdbc.properties //数据库连接配置2.SqlMapContext.xml //主配置文件3.user_SqlMap.xml //映射文件4.三层框架 创建Ibatis工程 ... 
- ibatis学习之道:ibatis的<[CDATA]>dynamic属性跟#$的应用
		ibatis的<![CDATA]>,dynamic属性和#,$的应用 <![CDATA[ ]]>的正确使用 ibatis作为一种半自动化的OR Mapping工具,其灵活性 ... 
随机推荐
- Spring学习进阶(二)Spring IoC
			在使用Spring所提供的各种丰富而神奇的功能之前,必须在Spring IoC容器中装配好Bean,并建立Bean与Bean之间的关联关系.控制反转(Inverser of Control ioc)是 ... 
- MySql错误1045 Access denied for user 'root'@'localhost' (using password:YES) windows下的解决方案(忘记密码)
			1.进入管理员控制台停止mysql服务:net stop mysql; 2.进入mysql的安装路径,如我的安装路径为C:\Program Files\MySQL\MySQL Server 5.5,打 ... 
- 如何配置全世界最小的 MySQL 服务器
			配置全世界最小的 MySQL 服务器——如何在一块 Intel Edison 为控制板上安装一个 MySQL 服务器. 介绍 在我最近的一篇博文中,物联网,消息以及 MySQL,我展示了如果 Part ... 
- C#(winform)为button添加背景图片
			1.既然是添加背景图片 所以这里应该使用 Button.BackgroudImage = "" ;来设置图片 而不应该使用 Button.Image = "" ... 
- ios审核要注意的地方(转)
			磨刀不误砍柴工.作为手机应用开发者,你需要向应用商店提交应用审核,迅速通过审核可以让你抢占先机.对苹果iOS应用开发者来说尤其如此.苹果应用商店的审核近乎吹毛求疵,下面这些清单可以让你知道苹果会在哪些 ... 
- 控件 UI: 字体的自动继承的特性, Style, ControlTemplate
			字体的自动继承的特性 Style 样式 ControlTemplate 控件模板 示例1.演示字体的自动继承的特性Controls/UI/FontInherit.xaml <Page x:Cla ... 
- ThreadLocal详解(实现多线程同步访问变量)
			ThreadLocal翻译成中文比较准确的叫法应该是:线程局部变量. 这个玩意有什么用处,或者说为什么要有这么一个东东?先解释一下,在并发编程的时候,成员变量如果不做任何处理其实是线程不安全的,各个线 ... 
- iOS 蓝牙开发(三)app作为外设被连接的实现(转)
			转载自:www.cocoachina.com/ios/20151105/14071.html 原作者:刘彦玮 再上一节说了app作为central连接peripheral的情况,这一节介绍如何使用ap ... 
- JAVA基本类型的转换
			1.String转成Int 例1: String str = "123"; try { int a = Integer.parseInt(str); } catch (Number ... 
- [学习笔记]概率&期望
			概率的性质 非负性:对于每一个事件$A,0\;\leq\;P(A)\;\leq\;1$. 规范性:对于必然事件$S,P(S)=1$;对于不可能事件$A,P(A)=0$. 容斥性:对于任意两个事件$A, ... 
