我的问题是:我应该支持Javabean填充PreparedStatement
的数据类型是什么?
我正在为Java Helper Library编写SQLHelper。我正在写的一个类是QueryParameter
Javabean,它包含一个类型和值。它的主要用途是与HelperQuery
Javabean相关联,并且准备好的语句将在这样的调用中用以下方法填充:
fillStatement(preparedStatement, helperQuery.getParams());
public void fillStatement(PreparedStatement pstmt, QueryParameter... params) throws SQLException {
for (int i = 1; i <= params.length; i++) {
QueryParameter param = params[i - 1];
switch (param.getType()) {
case QueryParameter.CLOB:
pstmt.setClob(i, (Clob) clob);
break;
case QueryParameter.STRING:
pstmt.setString(i, (String) param.getValue());
break;
case QueryParameter.YOU_GET_THE_IDEA:
//...;
break;
}
}
}
答案 0 :(得分:3)
查看PreparedStatement javadoc并支持那里的每个setSomething
数据类型。他们是:
Array, AsciiStream, BigDecimal, BinaryStream, Blob, Boolean, Byte,
Bytes, CharacterStream, Clob, Date, Double, Float, Int, Long,
NCharacterStream, NClob, NString, Null, Object, Ref, RowId, Short,
SQLXML, String, Time, Timestamp, and URL