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

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>                             

                                                                                                                                                                                                        



分享到:
评论

相关推荐

    IBatisNet-执行存储过程

    这里定义了一个名为`SelectResult`的结果映射,指定了每个字段与数据库列之间的对应关系。例如,`Id`字段与数据库中的`id`列对应。这种方式便于将数据库查询结果映射到对象模型上。 #### 参数映射(`parameterMap`...

    ibatisnet教程全文

    在开始使用IbatisNet之前,首先需要将其添加为项目的引用。这可以通过NuGet包管理器完成。配置IbatisNet涉及到设置数据源、配置SqlMapConfig.xml文件,其中包含数据库连接信息和映射文件路径。 **2. SQL映射文件** ...

    IBatisNet和NHibernate模版

    **IBatisNet与NHibernate:两种主流ORM框架的深度解析** 在.NET开发环境中,数据库操作是不可或缺的一部分。为了简化数据库访问层的复杂性,开发者通常会选用Object-Relational Mapping (ORM) 框架。IBatisNet和...

    IBatisNet开发使用帮助文档

    - 创建测试数据库并定义相关表,例如在本例中创建了Person表,包含PER_ID、PER_FIRST_NAME、PER_LAST_NAME等字段。 5. **开发步骤** - 在Visual Studio .NET环境中创建一个新的ASP.NET Web应用程序项目。 - ...

    IBatisNet 框架

    在IBatisNet中,XML映射文件用于定义对象与数据库表之间的关系,包括字段映射、参数映射和结果集映射。这些映射定义了如何执行SQL语句以及如何将查询结果转换为对象。 ```xml SELECT * FROM Users WHERE ID = #...

    IbatisNet项目实例.rar

    iBATISNet Database Layer!这个框架将让你能够更好的在dotnet应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。下面是一个简单的iBATISNet应用架构。 项目中...

    IBatisNet-源代码

    通过提供 IDBProvider 接口,IBatisNet 允许开发者为不同的数据库提供商(如 SQL Server、Oracle 等)实现自定义的数据访问策略。 6. **源码学习要点** - 学习如何解析 XML 映射文件,理解 SQL 映射语句的构建。 ...

    IBatisNet开发使用小结

    同时,建立一个测试数据库并创建相应的表,例如这里创建了一个名为 `Person` 的表,包含 `PER_ID`、`PER_FIRST_NAME`、`PER_LAST_NAME`、`PER_BIRTH_DATE`、`PER_WEIGHT_KG` 和 `PER_HEIGHT_M` 等字段。 三、开发...

    IbatisNet从入门到精通(由源码详细介绍)

    IBatisNet是一个面向.NET平台的对象关系映射(ORM)框架,它的主要功能是将数据库操作与业务逻辑解耦,使得开发者可以使用简单的XML映射文件来定义SQL语句与对象之间的关系。通过这种方式,开发人员可以专注于编写...

    IBatisNet 框架 项目实例

    **IBatisNet 框架项目实例** **一、引言** IBatisNet 是一个流行的开源数据访问框架,它提供了一种将业务逻辑与数据库操作分离的方法,使得开发者可以更专注于编写应用程序的核心业务代码,而无需过于关心底层的SQL...

    IBatisNet源代码

    IBatisNet是一个流行的开源数据访问框架,它为.NET开发者提供了简单而强大的数据映射解决方案。这个框架的核心理念是将SQL语句与业务逻辑分离,使得开发者可以更专注于业务实现,而不是数据库操作。通过阅读和理解...

    Ibatisnet大合集

    Ibatisnet是一个基于.NET平台的轻量级持久层框架,它是MyBatis的.NET版本,致力于简化数据库操作,提供了一种灵活的SQL映射机制,让开发者能够将SQL语句直接写在配置文件中,避免了传统的ADO.NET操作中大量的数据库...

    IBatisNet在.NET中的使用总结

    IBatisNet为.NET开发者提供了强大的数据访问能力,不仅简化了代码编写,还提高了应用程序的性能和可维护性。通过将SQL逻辑与业务代码分离,IBatisNet使得数据库操作更加灵活和高效。对于寻求提升数据访问效率和减少...

    ibatisnet 1-6篇(全)教程.rar

    iBatisNet是一个数据访问层框架,它将SQL映射功能引入.NET平台,为.NET开发者提供了灵活的数据库操作方式。 【描述】:“iBatisNet教程 1-6篇(全)欢迎大家学习” 提示我们这个压缩包里的内容是分六个部分的教程,...

    MonoRail+IBatisNet +Velocity

    总的来说,MonoRail、IBatisNet 和 Velocity 的组合为C#开发者提供了一个高效、灵活的Web开发解决方案。虽然初期配置可能有些复杂,但一旦熟悉之后,你将会发现这个组合的强大力量,尤其是在处理复杂业务逻辑和数据...

    iBatisNet+SQLlite DEMO

    在.NET项目中,iBatisNet的配置文件通常命名为`ibatisnet.config`,其中定义了数据库连接、映射文件等信息。对于SQLite,配置文件中的数据库连接字符串应该是这样的: ```xml &lt;provider&gt;MySql.Data.SQLite |...

    ibatisnet下载

    IbatisNet是一个基于.NET平台的数据访问层(Data Access Layer,DAL)框架,它是一个轻量级的ORM(Object-Relational Mapping,对象关系映射)工具。ORM的主要目的是简化数据库操作,将数据库中的数据与应用程序中的...

    Ibatisnet介绍和使用

    Ibatisnet,全称为iBATIS .NET,是一款基于.NET平台的持久层框架,它主要解决了在使用ADO.NET操作数据库时遇到的一些问题,比如SQL语句与代码难以分离、各层之间的耦合度过高等。iBATIS的核心在于通过XML配置文件...

    IBatisnet 三层架构 通俗易懂

    总结,IBatisnet作为一款优秀的数据访问框架,其在三层架构中的应用能够帮助初学者理解软件设计模式,提高编程效率,并为他们提供了一条构建高效、稳定系统的道路。通过深入学习和实践,开发者可以掌握更多关于数据...

Global site tag (gtag.js) - Google Analytics