IBatisNet中将DateTime字段保存为null

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>                             

                                                                                                                                                                                                        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值