0

以下のクエリを実行して、リスト オブジェクトを取得する必要があります。で取得する最善の方法を知っていますspring jdbcか?

SQL クエリは次のとおりです。

SELECT app_name, error_code, error_message FROM error_message
WHERE ( 
    (app_name = ? AND error_code = ?) OR 
    (app_name = ? AND error_code = ?) OR 
    (app_name = ? AND error_code = ?) OR 
    (app_name = ? AND error_code = ?) OR 
    (app_name = ? AND error_code = ?) 
)
4

1 に答える 1

1

ここに私のサンプルコードがあります:

String sql = yoursql;

Object args[] = new Object[3];
args[0] = yourparam1;          
args[1] = yourparam2;          
args[2] = yourparam3;

getJdbcTemplate().query(sql, args, yourRowMapper);

rowmapper に次のコードを追加する必要があります。

private RowMapper yourRowMapper= new YourRowMapperClass ();

public final class YourRowMapperClass implements RowMapper {
   public Object mapRow(ResultSet rs, int rowNum) throws SQLException {

      YourResponse model = new YourResponse ();
      model.setresp1(rs.getDate(1));
      model.setresp2(rs.getDate(2));
      model.setresp3(rs.getString(3));

      return model;
    }
  }

引数を指定するには順序が重要です。たとえば、SQL で searchType 引数を 2 回使用する場合、次のように引数を定義する必要があります。

Object args[] = new Object[4];
args[0] = searchType;
args[1] = param1;
args[2] = searchType;
args[3] = param2;

この例をカスタマイズすると、次のコードを使用できます。

Object args[] = new Object[10];
args[0] = appname;
args[1] = errorcode;
args[2] = appname;
args[3] = errorcode;
args[4] = appname;
args[5] = errorcode;
args[6] = appname;
args[7] = errorcode;
args[8] = appname;
args[9] = errorcode;
于 2013-03-01T18:19:42.493 に答える