JdbcTemplateを使って挿入操作を行います.
1370 ワード
JdbcTemplateを使用して挿入、更新、削除操作を行う場合、使用する統一はjdbcTemplate.udate(.)の方法です.
JdbcTemplateを使用して挿入操作を行うと以下のような状況があります.
一つ目は、sqlとパラメータ値を入力し、メインキーに戻りません.
JdbcTemplateを使用して挿入操作を行うと以下のような状況があります.
一つ目は、sqlとパラメータ値を入力し、メインキーに戻りません.
public Integer save(String sql, final Object... args){
return getJdbcTemplate().update(sql,args);
}
または public Integer save(String sql, final Object... args){
return getJdbcTemplate().update(sql,new PreparedStatementSetter() {
public void setValues(PreparedStatement ps) throws SQLException {
for (int i = 0; i < args.length; i++) {
ps.setObject(i+1, args[i]);
}
}
});
}
第二種類:Sqlとパラメータ値が入ってきて、メインキーに戻ります. public Integer save(final String sql, final Object... args){
KeyHolder keyHolder = new GeneratedKeyHolder();
return getJdbcTemplate().update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection coon)
throws SQLException {
PreparedStatement ps = coon.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
ps.setObject(i+1, args[i]);
}
return ps;
}
}, keyHolder);
}
第三種類:着信sql、パラメータ値、パラメータタイプ public Integer save(String sql,int[] argTypes,Object... args){
return getJdbcTemplate().update(sql, args, argTypes);
}
例:save(sql,new int[]{Types.VRCHARR,Types.INTEGER,Types.INTEGER},new Object[]{mark”,16,1};