S.D*_*S.D 20 java jdbc resultset
我想知道PreparedStatement.setObject在准备语句时是否有人认为将所有数据类型用作不良做法.这个用例就是一个带有通用executeQuery()方法的DAO,它可以重用于所有查询,而不必担心它的数据类型.
Bal*_*usC 11
你可以这样做.
例如
preparedStatement = connection.prepareStatement(SQL_INSERT);
SqlUtil.setValues(preparedStatement, user.getName(), user.getPassword(), user.getAge());
Run Code Online (Sandbox Code Playgroud)
同
public static void setValues(PreparedStatement preparedStatement, Object... values) throws SQLException {
for (int i = 0; i < values.length; i++) {
preparedStatement.setObject(i + 1, values[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
JDBC驱动程序将进行类型检查.唯一的缺点可能是(次要)开销,但与最终可用的更好的可维护代码相比,这可以忽略不计.此外,大多数ORM框架(如Hibernate/JPA)也使用了深层次的内容.
| 归档时间: |
|
| 查看次数: |
5352 次 |
| 最近记录: |