<?xml version="1.0" encoding="utf-8" ?>
<sqlMap namespace="IBatisNetDemo" xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<alias>
<typeAlias alias="Person" type="IBatisNetDemo.Person,IBatisNetDemo" />
</alias>
<statements>
<select id="SelectAll" resultMap="SelectAllResult" >
select
Id,Name,Password
from Person
</select>
<update id ="UpdatePerson" parameterClass="Person">
Update Person
set Name=#Name#
where Password=#Password#
</update>
<select id="SelectByPassword" resultClass="Person" parameterClass="string">
select Name,Password from Person where Password=#value#
</select>
<insert id="InsertPerson" parameterClass="Person">
INSERT INTO Person
(
[Name],
[Password]
)
VALUES
(
#Name#,
#Password#
)
</insert>
<delete id="DeletePersonByPassword" parameterClass="string">
delete from Person where Password=#value#
</delete>
<delete id="DeletePerson" parameterClass="Person">
delete from Person where Name=#Name# and Password=#Password#
</delete>
<procedure id="PrcInsertPerson" parameterMap="personSwap">
InsertPerson
</procedure>
<procedure id="PrcInsertPersonBackID" parameterMap="personSwapTwo">
InsertPersonBackID
</procedure>
<procedure id="PrcSelectPersonByName" parameterMap="personSwapThree" resultMap="personSwapThree">
SelectPersonByName
</procedure>
</statements>
<parameterMaps>
<parameterMap id="personSwap" class="Person">
<parameter property="Name" column="Name" />
<parameter property="Password" column="Password" />
</parameterMap>
<parameterMap id="personSwapThree" class="Person">
<parameter property="Name" column="Name" />
</parameterMap>
<parameterMap id="personSwapTwo" class="Person">
<parameter property="Name" column="Name" />
<parameter property="Password" column="Password" />
<parameter property="ID" column="ID" direction="Output" />
</parameterMap>
</parameterMaps>
<resultMaps >
<resultMap id="SelectAllResult" class="Person">
<result property="ID" column="Id" />
<result property="Name" column="Name" />
<result property="Password" column="Password" />
</resultMap>
<resultMap id="personSwapThree" class="Person">
<result property="Name" column="Name" />
<result property="Password" column="Password" />
<result property="ID" column="ID" />
</resultMap>
</resultMaps>
using System;
using System.Data;
using System.Text;
namespace IBatisNetDemo
{
/// <summary>
/// 类Person。
/// </summary>
[Serializable]
public class Person
{
public Person()
{ }
#region Model
private int _id;
private string _name;
private string _password;
public int ID
{
set { _id = value; }
get { return _id; }
}
/// <summary>
///
/// </summary>
public string Name
{
set { _name = value; }
get { return _name; }
}
/// <summary>
///
/// </summary>
public string Password
{
set { _password = value; }
get { return _password; }
}
#endregion Model
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IBatisNet.Common;
using IBatisNet.DataMapper;
using IBatisNet.DataMapper.Configuration;
namespace IBatisNetDemo
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// 配置SQL映射
/// </summary>
/// <returns>SQL映射</returns>
public ISqlMapper getMapper()
{
DomSqlMapBuilder builder = new DomSqlMapBuilder();
ISqlMapper Map = builder.Configure("SqlMap.config");
return Map;
}
/// <summary>
/// 实例化Person
/// </summary>
public Person getPerson
{
get
{
Person p = new Person
{
Name = txtname.Text.ToString(),
Password = txtpassword.Text.ToString()
};
return p;
}
}
/// <summary>
/// 插入Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnInsert_Click(object sender, EventArgs e)
{
getMapper().Insert("InsertPerson", getPerson);
}
/// <summary>
/// 修改Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUpdate_Click(object sender, EventArgs e)
{
getMapper().Update("UpdatePerson", getPerson);
}
/// <summary>
/// 查找Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelect_Click(object sender, EventArgs e)
{
//IList<Person> plist = getMapper().QueryForList<Person>("SelectAll", null);
IList<Person> plist = Mapper.Instance().QueryForList<Person>("SelectAll", null);
gvPersonData.DataSource = plist;
gvPersonData.DataBind();
}
/// <summary>
/// 按密码查找
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectByPassword_Click(object sender, EventArgs e)
{
IList<Person> plist = Mapper.Instance().QueryForList<Person>("SelectByPassword", txtpassword.Text.ToString());
if (plist != null && plist.Count > 0)
{
gvPersonData.DataSource = plist;
gvPersonData.DataBind();
}
}
/// <summary>
/// 删除Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
int i = Mapper.Instance().Delete("DeletePerson", getPerson);
}
/// <summary>
/// 按密码删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDeleteByPassword_Click(object sender, EventArgs e)
{
int i = Mapper.Instance().Delete("DeletePersonByPassword", txtpassword.Text.ToString());
}
/// <summary>
/// 存储过程操作插入Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrcInsert_Click(object sender, EventArgs e)
{
Mapper.Instance().Insert("PrcInsertPerson", getPerson);
}
/// <summary>
/// 存储过程插入Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrcInsertBack_Click(object sender, EventArgs e)
{
Person p = new Person
{
Name = "xiede",
Password = "123456"
};
Mapper.Instance().Insert("PrcInsertPersonBackID", p);
Response.Write(p.ID.ToString());
}
/// <summary>
/// 存储过程按姓名查找Person
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrcSelect_Click(object sender, EventArgs e)
{
IList<Person> plist = Mapper.Instance().QueryForList<Person>("PrcSelectPersonByName", getPerson);
gvPersonData.DataSource = plist;
gvPersonData.DataBind();
}
}