rs返回值的问题:JDBC ResultSet#getInt方法, 若数据库中记录的数值为null,getInt返回的是数值“0”,而不是null!

rs.getInt方法, 若数据库中记录的数值为null,getInt返回的是数值“0”,而不是null!

 

long java.sql.ResultSet.getLong(String columnLabel) 
int java.sql.ResultSet.getInt(String columnLabel)
等均为:“若数据库中记录的数值为null,返回数值“0”,而不是null
因此,“category.setIsLeaf(rs.getInt("IS_LEAF"));”执行后,category的isLeaf属性不可能为NULL
如想让category的isLeaf属性有NULL值,就需要其它处理了
jdk中的相关解释:
int java.sql. ResultSet .getInt( String columnLabel) throws SQLException

Retrieves the value of the designated column in the current row of this ResultSet object as an int in the Java programming language.

Parameters:
columnLabel the label for the column specified with the SQL AS clause. If the SQL AS clause was not specified, then the label is the name of the column
Returns:
the column value; if the value is SQL NULL, the value returned is 0
Throws:
SQLException - if the columnLabel is not valid; if a database access error occurs or this method is called on a closed result set

 

你可能感兴趣的:(sql,数据库,jdbc,String,null,Parameters)