`
yanghuw
  • 浏览: 13302 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

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>                             

                                                                                                                                                                                                        



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics