Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JDBC get/setObject与get/setSpecificType_Java_Jdbc_Types - Fatal编程技术网

Java JDBC get/setObject与get/setSpecificType

Java JDBC get/setObject与get/setSpecificType,java,jdbc,types,Java,Jdbc,Types,JDBC提供了getObject、getInt、getString等方法,并具有类似的setter。除了类型编译时类型安全之外,特定于类型的getter/setter是否有任何(dis)优势,或者到处使用getObject/setObject是否可以?没有真正的技术(dis)优势。只有在你事后自己进行打字检查/选角时,它们才可能在功能上不利 我自己使用ResultSet#getObject()仅当返回的值是一个原语,DB默认为NULL,并且声明的值是原语的包装器时。例如,整数年龄: user.s

JDBC提供了getObject、getInt、getString等方法,并具有类似的setter。除了类型编译时类型安全之外,特定于类型的getter/setter是否有任何(dis)优势,或者到处使用getObject/setObject是否可以?

没有真正的技术(dis)优势。只有在你事后自己进行打字检查/选角时,它们才可能在功能上不利

我自己使用
ResultSet#getObject()
仅当返回的值是一个原语,DB默认为
NULL
,并且声明的值是原语的包装器时。例如,
整数年龄

user.setAge(resultSet.getObject("age") != null ? resultSet.getInt("age") : null);
我几乎一直在使用
PreparedStatement#setObject()
作为实用方法:

public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException {
    for (int i = 0; i < values.length; i++) {
        preparedStatement.setObject(i + 1, values[i]);
    }
}
publicstaticvoidsetvalues(PreparedStatement PreparedStatement,Object…values)抛出SQLException{
对于(int i=0;i