(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学习的更多相关文章

  1. 【web开发学习笔记】ibatis学习总结

    ibatis学习总结 ibatis数据库配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCT ...

  2. ibatis 学习笔记 3 - pfpfpfpfpf的专栏 - 博客频道 - CSDN.NET

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  3. Ibatis学习总结6--使用 SQL Map API 编程

    SQL Map API 力求简洁.它为程序员提供 4 种功能:配置一个 SQL Map,执行 SQL update操作,执行查询语句以取得一个对象,以及执行查询语句以取得一个对象的 List. 配置  ...

  4. Ibatis学习总结4--SQL Map XML 映射文件扩展

    SQL Map XML 映射文件除了上文提到的属性还有一些其他重要的属性,下文将详细介绍这些属性. 缓存 Mapped Statement 结果集 通过在查询 statement 中指定 cacheM ...

  5. Ibatis学习总结3--SQL Map XML 映射文件

    在前面的例子中,只使用了 SQL Map 最简单的形式.SQL Map 的结构中还有其他更多 的选项.这里是一个 mapped statement 较复杂的例子,使用了更多的特性. <sqlMa ...

  6. Ibatis学习总结2--SQL Map XML 配置文件

    SQL Map 使用 XML 配置文件统一配置不同的属性,包括 DataSource 的详细配置信息, SQL Map 和其他可选属性,如线程管理等.以下是 SQL Map 配置文件的一个例子: Sq ...

  7. Ibatis学习总结1--ibatis简介和SQL Maps

    最佳维护的一个项目使的是ibatis框架,在闲暇之余将手头的开发手册和平时开发的理解做一下总结,言归正传. 简介 使用 SQL Map,能够大大减少访问关系数据库的代码.SQL Map 使用简单的 X ...

  8. Ibatis学习记录

    几大要素:1.jdbc.properties //数据库连接配置2.SqlMapContext.xml //主配置文件3.user_SqlMap.xml //映射文件4.三层框架 创建Ibatis工程 ...

  9. ibatis学习之道:ibatis的<[CDATA]>dynamic属性跟#$的应用

    ibatis的<![CDATA]>,dynamic属性和#,$的应用 <![CDATA[   ]]>的正确使用 ibatis作为一种半自动化的OR Mapping工具,其灵活性 ...

随机推荐

  1. XML中的DOCTYPE属性

    一.先来两个小例子 内部dtd将standalone设为真. <?xml version="1.0" standalone="yes"?> < ...

  2. [转]java 输出流转输入流

    ByteArrayOutputStream.toByteArray ByteArrayInputStream StringWriter.toString StringReader 字符流和二进制流是j ...

  3. ListView简介

    说起来,简介这种东西我一般都会去百度,不过似乎这样太没诚意了.╮(╯▽╰)╭ 没办法我再去查查别的资料 官方API,说的啥呢?经过一番研究我终于读懂了....╮(╯▽╰)╭ (让一个英语三级的学渣来分 ...

  4. js-读取系统时间

    转载 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.o ...

  5. HTTP协议学习---(三)摘要认证

    Http 摘要认证 这个认证可以看做是基本认证的增强版本,使用随机数+密码进行md5,防止通过直接的分析密码MD5防止破解. 摘要访问认证最初由 RFC 2069 (HTTP的一个扩展:摘要访问认证) ...

  6. Lyaer 单弹出层获取数据

    案例完整代码如下 var cls = layer.open({                title: "请选择被换班人",                type: 2,   ...

  7. win7下安装redies

    https://github.com/MSOpenTech/redis 打开以后,可以直接使用浏览器下载,或者git克隆.注意:下载release版 解压后,目录下有以下这些文件: redis-ben ...

  8. 天气查询SDK

    简介: 这是一个用于查询天气的SDK,在很多时候,尤其是对接多而小功能公众账号的时候,天气查询比较使用,此SDK就是这样的用途,使用的是中国天气网的API,已经集成了网上最靠谱的方式来实现,包括里面的 ...

  9. hdu1402 FFT入门

    参考这里:http://www.cnblogs.com/pdev/p/4354705.html  http://www.cnblogs.com/pdev/p/4354629.html 题意:求大数乘法 ...

  10. magento app/design/adminhtml/default/default/template/sales/order/view/info.phtml XSS Vul

    catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://www.freebuf. ...