Java JDBC get/setObject与get/setSpecificType
JDBC提供了getObject、getInt、getString等方法,并具有类似的setter。除了类型编译时类型安全之外,特定于类型的getter/setter是否有任何(dis)优势,或者到处使用getObject/setObject是否可以?没有真正的技术(dis)优势。只有在你事后自己进行打字检查/选角时,它们才可能在功能上不利 我自己使用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
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