基本都是摘自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还提供了一些辅助工具,如`ParameterMap`用于管理SQL语句的输入参数,`ResultMap`用于处理查询结果的映射,以及`Cache`机制,用于缓存查询结果,提高系统性能。这些工具类使得开发者能够更方便地进行...
**IBATIS API 帮助文档与IBATIS开发文档详解** IBATIS,一个由iBATIS公司开发的开源持久层框架,是Java世界中广泛使用的数据访问接口(DAO)工具。它允许开发者将SQL语句直接写在XML配置文件中,实现了SQL与Java...
5. ParameterMap和ParameterHandler:它们负责参数的设置和处理,ParameterMap代表了SQL参数的映射关系,而ParameterHandler则将Java对象转换为SQL语句中的参数。 6. ResultMap和ResultSetHandler:ResultMap定义了...
1. 参数映射:通过 `<parameterMap>` 和 `<parameter>` 标签将方法参数映射到 SQL 语句中的占位符。 2. 结果映射:使用 `<resultMap>` 定义结果集映射规则,可以进行复杂的列名和属性名映射,支持关联对象映射。 六...
1.3 参数映射:通过 `<parameterMap>` 和 `<parameter>` 元素,可以指定 SQL 语句中的参数类型和值,支持简单的类型和复杂的对象映射。 1.4 结果集映射:通过 `<resultMap>` 元素,定义了 SQL 查询结果如何映射到 ...
5. **自动生成select语句**:在标签处,按Alt+Enter选择Generate result for resultMap or resultClass,插件会根据parameterClass或parameterMap自动生成对应的select语句。 6. **SqlMapClient方法调用的代码提示*...
2. 参数映射:Ibatis 提供了参数映射机制,可以通过`<parameterMap>`和`<parameter>`标签将Java对象的属性值映射到SQL语句的参数。同时,它还支持简单类型、复杂类型(如Map或自定义对象)的参数传递。 3. 结果映射...
此外,还有`<resultMap>`用于定义结果集映射,`<parameterMap>`用于参数对象的映射等,这些元素都是通过`sql-map-2.dtd`定义的。 其次,`sql-map-config-2.dtd`则是Ibatis的SQL映射配置文件的DTD,它定义了整个...
5. **参数映射**:讲解如何通过`<parameterMap>`和`<param>`标签进行参数绑定,支持基本类型、对象以及复杂类型的参数传递。 6. **结果集映射**:探讨如何使用`<resultMap>`定义结果集映射规则,包括一对一、一对多...
ParameterMap是iBatis中的一个重要概念,它用于定义参数映射关系。用户可以使用ParameterMap来定义参数映射关系,以便在执行SQL语句时传递参数值。 6. ResultMap ResultMap是iBatis中的另一个重要概念,它用于定义...
在XML文件中,可以使用`<parameterMap>`和`<resultMap>`标签来定义复杂的参数映射和结果映射,包括Java对象与数据库字段之间的映射关系。 8. **动态SQL**: iBatis支持动态SQL,可以通过`<if>`, `<choose>`, `...
- **parameterMap**:参数映射,用于定义输入参数的映射规则。 - **select**、**insert**、**update**、**delete**:定义具体的SQL语句及其执行方式,包括参数传递和结果映射。 例如,在`User.xml`映射文件中,可以...
《深入解析ibatis-common.jar包》 在Java开发领域,Ibatis作为一个优秀的持久层框架,以其灵活、易用的特点深受开发者喜爱。而ibatis-common.jar包则是Ibatis框架的重要组成部分,它提供了诸多实用功能,帮助开发者...
- **参数映射**:ibatis中的`<parameterMap>`元素用于参数映射,在myBatis中则不再使用该元素。 - **动态SQL支持**:myBatis增强了动态SQL的支持能力,使得开发者可以更容易地构建复杂的查询语句。 - **对象关系映射...
【Ibatis框架的核心知识点】 Ibatis 是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,从而简化了Java应用程序与数据库的交互。Ibatis 的核心知识点主要包括以下几个方面: 1. **SQL Map ...
2. **参数映射**:通过<parameterMap>和元素,Ibatis.net可以将.NET对象的属性值映射到SQL语句的参数,简化了参数传递的过程。 3. **结果映射**:使用定义结果集映射,可以将数据库查询结果自动转换为.NET对象,...
每个SQL语句可以有多个参数,这些参数可以通过`<parameterMap>`标签定义,而结果集映射则通过`<resultMap>`标签来完成。iBATIS提供了强大的动态SQL功能,允许在XML中使用条件判断、循环等逻辑,使得SQL语句更加灵活...
6. **ResultMap和ParameterMap**:ResultMap用于映射查询结果到Java对象,ParameterMap用于指定参数映射。 7. **Example类和Criteria API**:Ibatis提供的Example类和Criteria API可以帮助我们构建复杂的查询条件,...