`

ibatis null值的处理

    博客分类:
  • Java
阅读更多
属性nullValue指定数据库中NULL的替代值。因此,如果从ResultSet中读出NULL值,Java Bean属性将被赋值属性null指定的替代值。属性null的值可以指定任意值,但必须对于Java Bean属性的类型是合法的。
如果数据库中存在NULLABE属性的字段,但您需要用指定的常量代替NULL,您可以这样设置resultMap:
<resultMap id=”get-product-result” class=”com.ibatis.example.Product”>
<result property=”id” column=”PRD_ID”/>
<result property=”description” column=”PRD_DESCRIPTION”/>
<result property=”subCode” column=”PRD_SUB_CODE” nullValue=”-999”/>
</resultMap>
上面的例子中,如果PRD_SUB_CODE的值是NULL,subCode属性将被赋值-999。这让您在Java类中用基本类型的属性映射数据库中的NULLABE字段。记住,如果您要在查询和更新中同样使用这个功能,必须同时在parameterMap中指定nullValue属性。
分享到:
评论

相关推荐

    ibatis sql语句对条件中特殊字符% # 处理

    ### ibatis SQL语句对条件中特殊字符% # 处理 在开发过程中,经常会遇到SQL查询时需要处理字符串中的特殊字符的情况。特别是在使用类似`LIKE`这样的操作符时,如果用户输入的数据中含有`%`、`_`或`#`等特殊字符,...

    ibatis常用sql语句

    同时,为了避免数组为空或为null时引发的SQL语法错误,iBATIS还提供了`&lt;isNotNull&gt;`和`&lt;dynamic&gt;`标签进行条件判断,确保了代码的健壮性和安全性。 ### 传递参数只含有一个数组 最后,当参数只包含一个数组时,...

    ibatis应对批量update

    为了解决这个问题,ibatis(现已更名为MyBatis)提供了一种支持批量更新的机制,能够显著提高数据处理的速度。 #### 批量Update背景与问题 在实际应用中,经常会遇到需要批量更新数据库中的数据的情况,例如:商品...

    iBATIS动态标签

    通过这些标签,开发者可以在iBATIS的SQL映射文件中实现灵活的动态SQL,如示例所示,可以根据`Account`对象的`username`属性是否存在和其值来决定`WHERE`子句的内容,从而实现更高效和可维护的数据库查询。

    ibatis拼接字符串

    在本篇文章中,我们将深入探讨如何使用 Java 编程...通过以上分析,我们可以看出 iBatis 在处理动态 SQL 方面具有很大的灵活性和扩展性。在实际开发过程中,合理利用 iBatis 可以极大地提高开发效率和系统的可维护性。

    ibatis开发过程取值问题

    如果使用“#{tableName}`,Ibatis会尝试将`users`作为一个参数值去处理,这显然会导致语法错误。 除了表名和列名,还可以使用“##”处理其他SQL关键字,比如在动态联接查询中: ```xml SELECT * FROM table1 t1 ...

    ibatis的错误总结

    ibatis在处理SQL语句时,其灵活性和强大功能也伴随着易犯的错误。确保`parameterClass`和`resultClass`属性与实际参数类型和返回类型相匹配,正确使用动态SQL标签如`&lt;isNotNull&gt;`,并注意`#`和`{}`之间的区别,这些...

    ibatis.util包

    6. **Strings**: 类似于Java的`java.lang.String`,`ibatis.util.Strings`提供了一些字符串处理的辅助方法,如格式化字符串,检查是否为空等。 7. **TypeHandlerRegistry**: 这是Ibatis的核心组件之一,负责管理...

    ibatis 支持枚举类型

    以下将详细解释如何在Ibatis中处理枚举类型。 首先,我们需要定义枚举类。枚举类通常包含若干枚举常量,每个常量对应一个特定的业务含义。例如,一个状态枚举类可以如下所示: ```java public enum Status { ...

    ibatis UPDATE 动态XML与insert

    这里,如果某个字段的值为NULL,那么对应的列名和值就不会出现在INSERT语句中,从而避免了数据库的约束异常。 标签 "源码" 暗示我们可能需要关注MyBatis的内部实现,理解其如何解析和执行这些动态SQL。MyBatis通过`...

    iBatis的动态SQL语句

    ### iBatis中的动态SQL语句详解 ...同时,动态SQL的使用也使得iBatis成为处理复杂数据查询的理想选择之一。希望本文能帮助开发者更好地理解和掌握iBatis框架中的动态SQL技术,从而提升开发效率和项目质量。

    ibatis 用HashMap解决resultClass映射

    在日常的软件开发过程中,尤其是在处理数据库查询时,我们经常面临一个问题:如何优雅地处理那些未知或动态变化的列名及列数的情况?在这种情况下,传统的实体类映射方式往往难以满足需求。本文将详细介绍如何利用 ...

    ibatis的dynamicSQL中,关于prepend的使用

    通过使用XML配置文件来定义SQL查询语句,并结合Java对象映射关系,ibatis提供了一种灵活的方式来处理数据库操作。其中,动态SQL是ibatis的一个非常强大的特性,允许开发者根据不同的条件构建出复杂的SQL查询语句。 ...

    Ibatis查询Id列表.doc

    Ibatis是一个基于Java的持久层框架,它允许开发人员直接编写SQL语句,并提供了一个对象关系映射(ORM)层来处理结果集与Java对象之间的转换。相比于其他框架如Hibernate等,Ibatis更加轻量级,同时也更加灵活,因为...

    ibatis中输入输出各种类型的参数分析及#与$区别

    - 性能: 当参数值为`null`时,`#{}`会根据实际情况转换为对应的SQL关键字(如`NULL`),而不是简单的去除,这有助于保持SQL语句的结构完整性。 - 示例: `select * from users where id = #{id}` - **${}**: - ...

    ibatis的动态查询

    - `&lt;isNull&gt;`:判断属性值为 null。 - `&lt;isEmpty&gt;`:判断 Collection.size 或 String.length() 。 - `&lt;isEqual&gt;`:等于。 - `&lt;isNotEqual&gt;`:不等于。 - `&lt;isGreaterThan&gt;`:大于。 - `&lt;isGreaterEqual&gt;`:大于等于...

    Ibatis常用sql语句

    以上示例展示了Ibatis在处理各种数据库操作时的强大功能,包括删除、插入、查询和批量更新等常见场景。Ibatis通过其动态SQL标签如`iterate`, `isNotNull`, `dynamic`等提供了极高的灵活性,能够有效应对复杂多变的...

    动态ibatis查询语句配置

    = null"&gt; AND name = #{name} ``` 2. `&lt;choose&gt;`, `&lt;when&gt;`, `&lt;otherwise&gt;`标签:类似于Java中的switch语句,用于多条件选择。`&lt;choose&gt;`标签是容器,`&lt;when&gt;`标签定义了不同的条件分支,`&lt;otherwise&gt;`标签定义了...

    ibatis-sqlmap-2.3.0中sqlmap支持通配符

    Ibatis提供预编译的PreparedStatement来防止SQL注入,但开发者仍需确保传入的参数值经过了适当的过滤和验证。 总的来说,Ibatis SqlMap 2.3.0对通配符的支持,极大地提升了SQL语句的灵活性,让开发者能够根据业务...

    Ibatis查询语句里,可以使用多表查询

    通过上述示例,我们可以了解到如何在 iBatis 中编写复杂的 SQL 查询语句,并且如何通过定义合适的 `ResultMap` 来处理查询结果。这对于实际项目开发具有重要的指导意义,有助于开发者更好地利用 iBatis 提高开发效率...

Global site tag (gtag.js) - Google Analytics