`
crazycat03
  • 浏览: 175840 次
  • 性别: Icon_minigender_2
  • 来自: 呼和浩特
社区版块
存档分类
最新评论

ibatis的parameterMap

阅读更多

基本都是摘自iBATIS开发指南中文版

<parameterMap id=”parameterMapName” [class=”com.domain.Product”]>
<parameter property =”propertyName” [jdbcType=”VARCHAR”] [javaType=”string”]
[nullValue=”NUMERIC”] [null=”-9999999”]/>
<parameter …… />
<parameter …… />
</parameterMap>

  括号[]是可选的属性。parameterMap元素只要求属性id作为唯一标识。属性class是可选的但强烈推荐使用。和parameterClass类似,class属性可以框架检查输入参数的类型并优化性能。

属性jdbcType用于显式地指定给本属性(property)赋值的数据库字段的数据类型。

正常情况下,只有当字段可以为NULL时才需要jdbcType属性。另一需要指定jdbcType属性的情况是字段类型为日期时间类型的情况。因为Java只有一个Date类型(java.util.Date),而大多数SQL数据库有多个-通常至少有3种。因此,需要指定字段类型是DATE还是DATETIME。
属性jdbcType可以是JDBC Types类中定义的任意参数的字符串值。虽然如此,还是有某些类型不支持(即BLOB)

 

注意!大多数JDBC Driver只有在字段可以为NULL时需要指定jdbcType属性。因此,对于这些Driver,只是在字段可以为NULL时才需要指定type属性。
注意!当使用Oracle Driver时,如果没有给可以为NULL的字段指定jdbcType属性,当试图给这些字段赋值NULL时,会出现“Invalid column type”错误。

nullValue
属性nullValue的值可以是对于property类型来说任意的合法值,用于指定NULL的替换值。就是说,当Java Bean的属性值等于指定值时,相应的字段将赋值NULL。这个特性允许在应用中给不支持null的数据类型(即int,double,float等)赋值null。当这些数据类型的属性值匹配null值(即匹配-9999)时,NULL将代替null值写入数据库。

 

 

这种方法把Java Bean的属性名称嵌在Mapped Statement的定义中(即直接写在SQL语句中)。缺省情况下,任何没有指定parameterMap的Mapped Statement都会被解析成inline parameter(内嵌参数)

 

<statement id=”insertProduct” parameterClass=”com.domain.Product”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)
values (#id#, #description#);
</statement>
在内嵌参数中指定数据类型可以用下面的语法:
<statement id=”insertProduct” parameterClass=”com.domain.Product”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)
values (#id:NUMERIC#, #description:VARCHAR#);
</statement>
在内嵌参数中指定数据类型和NULL的替代值可以用这样的语法:
<statement id=”insertProduct” parameterClass=”com.domain.Product”>
insert into PRODUCT (PRD_ID, PRD_DESCRIPTION)
values (#id:NUMERIC:-999999#, #description:VARCHAR:NO_ENTRY#);
</statement>
注意!在内嵌参数中,要指定NULL的替代值,必须要先指定数据类型。
注意!如需要在查询时也使用NULL替代值,必须同时在resultMap中定义(如下说明)。
注意!如果您需要指定很多的数据类型和NULL替代值,可以使用外部的parameterMap元素,这样会使代码更清晰。

 

分享到:
评论

相关推荐

    iBATIS-DAO-2.3.4.726.rar_com.ibatis.dao_iBATIS dao 2_iBatis DAO_

    此外,iBATIS还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...

    ibatis api 帮助文档+IBATIS 开发文档

    **IBATIS API 帮助文档与IBATIS开发文档详解** IBATIS,一个由iBATIS公司开发的开源持久层框架,是Java世界中广泛使用的数据访问接口(DAO)工具。它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java...

    ibatis api,ibatis文档,ibatis说明文档

    5. ParameterMap和ParameterHandler:它们负责参数的设置和处理,ParameterMap代表了SQL参数的映射关系,而ParameterHandler则将Java对象转换为SQL语句中的参数。 6. ResultMap和ResultSetHandler:ResultMap定义了...

    Ibatis 入门经典 实例

    1. 参数映射:通过 `&lt;parameterMap&gt;` 和 `&lt;parameter&gt;` 标签将方法参数映射到 SQL 语句中的占位符。 2. 结果映射:使用 `&lt;resultMap&gt;` 定义结果集映射规则,可以进行复杂的列名和属性名映射,支持关联对象映射。 六...

    Ibatis

    1.3 参数映射:通过 `&lt;parameterMap&gt;` 和 `&lt;parameter&gt;` 元素,可以指定 SQL 语句中的参数类型和值,支持简单的类型和复杂的对象映射。 1.4 结果集映射:通过 `&lt;resultMap&gt;` 元素,定义了 SQL 查询结果如何映射到 ...

    ibatis plugin用户指南

    5. **自动生成select语句**:在标签处,按Alt+Enter选择Generate result for resultMap or resultClass,插件会根据parameterClass或parameterMap自动生成对应的select语句。 6. **SqlMapClient方法调用的代码提示*...

    iBatis详细使用手册(.net版)[收集].pdf

    ParameterMap是iBatis中的一个重要概念,它用于定义参数映射关系。用户可以使用ParameterMap来定义参数映射关系,以便在执行SQL语句时传递参数值。 6. ResultMap ResultMap是iBatis中的另一个重要概念,它用于定义...

    IBATIS调用存储过程

    在iBATIS的映射配置文件中,我们需要为这些参数创建一个`&lt;parameterMap&gt;`,指定它们的属性(如`property`、`jdbcType`、`javaType`和`mode`)。例如: ```xml &lt;parameterMap id="parameterDJRYID" class="java.util...

    ibatis的dtd文件

    此外,还有`&lt;resultMap&gt;`用于定义结果集映射,`&lt;parameterMap&gt;`用于参数对象的映射等,这些元素都是通过`sql-map-2.dtd`定义的。 其次,`sql-map-config-2.dtd`则是Ibatis的SQL映射配置文件的DTD,它定义了整个...

    ibatis 开发指南 2004

    5. **参数映射**:讲解如何通过`&lt;parameterMap&gt;`和`&lt;param&gt;`标签进行参数绑定,支持基本类型、对象以及复杂类型的参数传递。 6. **结果集映射**:探讨如何使用`&lt;resultMap&gt;`定义结果集映射规则,包括一对一、一对多...

    iBatis Web用法实例

    在XML文件中,可以使用`&lt;parameterMap&gt;`和`&lt;resultMap&gt;`标签来定义复杂的参数映射和结果映射,包括Java对象与数据库字段之间的映射关系。 8. **动态SQL**: iBatis支持动态SQL,可以通过`&lt;if&gt;`, `&lt;choose&gt;`, `...

    IBatis.Net详细使用手册

    iBatis.Net 是一款轻量级的持久层框架,它主要负责数据库操作,尤其是在对象关系映射(ORM)方面提供了一种灵活的解决方案。相比于完全自动化处理数据操作的ORM框架如NHibernate,iBatis.Net 更加注重开发者的控制权...

    ibatis 配置文件详解

    - **parameterMap**:参数映射,用于定义输入参数的映射规则。 - **select**、**insert**、**update**、**delete**:定义具体的SQL语句及其执行方式,包括参数传递和结果映射。 例如,在`User.xml`映射文件中,可以...

    ibatis-common.jar包

    《深入解析ibatis-common.jar包》 在Java开发领域,Ibatis作为一个优秀的持久层框架,以其灵活、易用的特点深受开发者喜爱。而ibatis-common.jar包则是Ibatis框架的重要组成部分,它提供了诸多实用功能,帮助开发者...

    myBatis和ibatis的区别

    - **参数映射**:ibatis中的`&lt;parameterMap&gt;`元素用于参数映射,在myBatis中则不再使用该元素。 - **动态SQL支持**:myBatis增强了动态SQL的支持能力,使得开发者可以更容易地构建复杂的查询语句。 - **对象关系映射...

    Ibatis框架的核心知识点

    【Ibatis框架的核心知识点】 Ibatis 是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,从而简化了Java应用程序与数据库的交互。Ibatis 的核心知识点主要包括以下几个方面: 1. **SQL Map ...

    Ibatis.net学习例子以及使用教程书

    2. **参数映射**:通过&lt;parameterMap&gt;和元素,Ibatis.net可以将.NET对象的属性值映射到SQL语句的参数,简化了参数传递的过程。 3. **结果映射**:使用定义结果集映射,可以将数据库查询结果自动转换为.NET对象,...

    ibatis

    2. 参数映射:Ibatis 提供了参数映射机制,可以通过`&lt;parameterMap&gt;`和`&lt;parameter&gt;`标签将Java对象的属性值映射到SQL语句的参数。同时,它还支持简单类型、复杂类型(如Map或自定义对象)的参数传递。 3. 结果映射...

    ibatis +mysql 实例

    6. **ResultMap和ParameterMap**:ResultMap用于映射查询结果到Java对象,ParameterMap用于指定参数映射。 7. **Example类和Criteria API**:Ibatis提供的Example类和Criteria API可以帮助我们构建复杂的查询条件,...

Global site tag (gtag.js) - Google Analytics