`
davidwang456
  • 浏览: 8801 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

resultset的get数值为null而返回0问题的解决方法

阅读更多
在工作中使用jdbc来从数据库中查询信息,当字段类型为byte/boolean/short/int/long/float/double时,存放在数据库的数据为null,使用jdbc的select方法查询这些为null的字段时,返回一个默认值0(boolean返回false),而不是原样返回。在jdk api中的java.sql.ResultSet这样描述的:

getInt
int getInt(String columnLabel)
           throws SQLException以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。

参数:
columnLabel - 使用 SQL AS 子句指定的列标签。如果未指定 SQL AS 子句,则标签是列名称
返回:
列值;如果值为 SQL NULL,则返回值为 0
抛出:
SQLException - 如果 columnLabel 无效;如果发生数据库访问错误或在已关闭的结果集上调用此方法

在hibernate中int类型是可以返回null,那么如何在jdbc中解决这个问题呢?我的想法如下:
if(rs.getString("ACCESS_TYPE")!=null){
flow.setAccessType(rs.getShort("ACCESS_TYPE"));
}
这样先进行判断是否为null,然后处理的方法,是我目前想到的方法,为了怕以后遗忘,特地留下来作为备忘录。

后记:性能问题,考虑使用类型转换string转换成short,然后set方法
分享到:
评论

相关推荐

    jdbc操作文档,数据库基本操作文档集合

    // 对数据库进行查看操作时用executeQuery()返回ResultSet结果集。 ResultSet res = ste.executeQuery(); 5.处理结果 当是返回int型时 if(i > 0){ System.out.println("操作成功!"); } 当返回ResultSet型结果集...

    JAVA100例之实例57 结果集元数据

    4. 是否允许为空:使用isNullable(int column)方法,可以判断某列是否允许存储NULL值。返回的常量可以是ResultSetMetaData.columnNoNulls(不允许NULL),ResultSetMetaData.columnNullable(允许NULL)或...

    java连接数据库

    ResultSet rs = null; String user = "root"; String psd = "password"; String sql = "SELECT * FROM users WHERE id = 213"; try { Class.forName(driverStr); // 加载驱动 System.out.println("成功加载...

    java笔试题

    设计模式是对解决特定问题的通用解决方案的一种描述,它们可以帮助开发者更快地解决问题,并写出更清晰、可维护的代码。 #### 二、编程题 **1. 手写JDBC示例** 以下是一个使用JDBC进行数据库查询的简单示例: ``...

    一个jsp计数器.zip

    JSP页面在服务器端被编译为Servlet,然后由Servlet处理请求并返回响应。JSP主要由以下几部分组成: 1. 声明:包含Java代码,定义变量或方法。 2. 脚本元素:包括指令、脚本let、表达式等,用于控制JSP页面的行为。 ...

    oracle 错误合集

    ### Oracle 错误合集详解 ...针对每个错误码,了解其含义可以帮助开发者和数据库管理员快速定位问题所在,并采取适当的措施来解决这些问题。在实际应用中,还应该结合具体的错误信息和上下文来进一步诊断问题。

    有用的java代码、java代码

    根据给定的信息,本文将对20个非常有用的Java...以上这些代码片段覆盖了Java编程中的多个方面,包括数据类型转换、文件处理、日期操作和数据库连接等,希望这些实用的功能能够帮助开发者解决实际问题并提高开发效率。

    JAVA 学习必备10个有用的程序片段

    在这个示例中,我们使用了 `transferTo` 方法来进行高效的数据传输,并且考虑到了 Windows 系统下的大文件复制问题。 以上就是本文介绍的十个 Java 程序片段的详细解释。这些实用的小技巧能够帮助开发者更高效地...

    oracle的数据类型_java中Clob型详细用法_struts中实现图片上传功能

    在这个例子中,`exeInsert()` 方法插入了一个包含 CLOB 值的记录,而 `readClob()` 方法从数据库中读取并打印出 CLOB 值。使用 `CLOB.createTemporary()` 创建临时 CLOB 对象,然后通过 `setClob()` 设置...

    oracle Pl/sql编程经典入门

    - **创建一个名为 GET_EMPLOYEE_INFO 的存储过程,该过程接受一个员工编号作为参数,并返回该员工的信息**: ```sql CREATE OR REPLACE PROCEDURE get_employee_info ( p_empno IN NUMBER, p_ename OUT VARCHAR2...

    java web笔试题,很全

    这段代码首先定义了一个正则表达式,用于匹配`[名称]{数值}`的模式,然后使用`Matcher`的`find`方法查找所有匹配项,并使用`appendReplacement`方法替换为指定格式。 最后,关于异常处理。在给出的两个代码片段中,...

    java面试题及答案

    包装类提供了额外的功能,比如将数值转换为字符串、进行算术运算等,同时也支持null值,这对于处理可能不存在的数据时非常有用。 #### 四、String与StringBuffer的选择 在需要创建不变字符串或者字符串拼接次数较...

    详解导入excel

    ResultSet rs = null; ActionContext ctx = ActionContext.getContext(); SessionBean seBean = (SessionBean)ctx.getSession().get("sessionBean"); if ("") { // 处理逻辑 } } ``` - **日志记录**:通过`...

    spring boot mybatis枚举映射示例代码

    在`getNullableResult`方法中,我们从ResultSet中读取整数值,并根据此值反向查找枚举对象。 最后,在Spring Boot的配置文件中,我们需要指定MyBatis Plus的`typeHandlersPackage`,这样MyBatis Plus在扫描时会找到...

    20个非常有用的Java程序片段

    - **知识点**: Java中`String.valueOf()`方法用于将基本类型转换为字符串,而`Integer.parseInt()`则用于将数字字符串转换为整型。 - **应用场景**: 在处理用户输入、数据存储或格式化输出时,经常需要进行这两种...

    Java使用JDBC连接postgresql数据库示例

    `Connection` 对象可以通过 `DriverManager` 类的 `getConnection()` 方法获取,例如 `connection = DriverManager.getConnection(url, username, password);`。 3. 执行 SQL 语句 使用 `PreparedStatement` 对象...

    20个开发人员有用的Java功能代码

    `Integer.parseInt()`方法会将这个字符串解析成整型数值2。 - 需要注意的是,如果传入的字符串不能被解析为一个有效的整数,该方法将抛出`NumberFormatException`异常。因此,在实际应用中,通常需要对这种情况进行...

    jsp 分页技术的实现

    java.sql.Statement stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); String sql = "select * from info;"; ``` 连接到MySQL数据库,执行SQL查询语句,这里查询的是`...

    简单学生成绩管理系统(mysql+jsp).pdf

    `score`则用于存储学生的分数,使用`DECIMAL(5,2)`确保数值精确到小数点后两位。 接下来,我们将使用JSP来实现系统的前端交互。JSP是一种服务器端的脚本语言,它可以与HTML结合,提供动态网页的功能。以下是一个...

Global site tag (gtag.js) - Google Analytics