查询参数Java Bean的良好数据类型

时间:2012-06-03 20:28:04

标签: java sql prepared-statement

我的问题是:我应该支持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;
    }
  }
}

1 个答案:

答案 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