public class User
{
private string _user_id;
private string _user_name;
private string _birthday;
public string user_id
{
get
{
return this._user_id;
}
set
{
this._user_id = value;
}
public string user_name
{
get
{
return this._user_name;
}
set
{
this._user_name = value;
}
}
public string birthday
{
get
{
return this._birthday;
}
set
{
this._birthday = value;
}
}
}
public class DateTimeHandler:ITypeHandlerCallback
{
#region ITypeHandlerCallback 成员
public object ValueOf(string s)
{
if(s!=null && s.Length>0)
return Convert.ToDateTime(s);
return null;
}
public object GetResult(IResultGetter getter)
{
if(getter!=null)
return getter.Value.ToString();
return null;
}
public void SetParameter(IParameterSetter setter, object parameter)
{
if(parameter==null)
{
setter.Value=System.DBNull.Value;
}
else
{
setter.Value=Convert.ToDateTime(parameter);
}
}
#endregion
}
<?xml version="1.0" encoding="UTF-8"?>
<sqlMap namespace="User" xmlns="http://ibatis.apache.org/mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<alias>
<typeAlias alias="User" type="test.Breed,test"/>
<typeAlias alias="DateTimeHandler" type="test.DateTimeHandler,test" />
</alias>
<resultMaps>
<resultMap id="UserResult" class="User">
<result property="user_id" column="user_id"/>
<result property="user_name" column="user_name"/>
<result property="birthday" column="birthday" typeHandler="DateTimeHandler"/>
</resultMap>
</resultMaps>
<statements>
<insert id="InsertUser" parameterClass="User">
insert into User
( user_id, user_name, birthday)
values
( #user_id#, #user_name#, #birthday#)
</insert>
<update id="UpdateUser" parameterClass="User">
update User
set user_name=#user_name#,
birthday=#brd_birthday#
where user_id = #user_id#
</update>
<select id="GetUsers" resultMap="UserResult">
select * from User
</select>
<select id="GetUserByID" resultMap="UserResult" paramterClass="string">
select * from User where user_id=#user_id#
</select>
</statements>
</sqlMap>