//插入,增加
public static void insert(User user) {
String sql = "insert into user(name,birthday,money)values(?,?,?)";
Object args[] = {user.getName(),user.getBirthday(),user.getMoney()};
int temp = jdbc.update(sql, args);
if (temp > 0) {
System.out.println("插入成功!");
}else{
System.out.println("插入失败");
}
}
//删除
public static void delete(int id) {
String sql = "delete from user where id = ?";
Object args[] = new Object[]{id};
int temp = jdbc.update(sql,args);
if (temp > 0) {
System.out.println("删除成功");
}else {
System.out.println("删除失败");
}
}
//更新
public static void update(User user) {
String sql = "update user set name = ? where id = ?";
Object args[] = new Object[]{user.getName(),user.getId()};
int temp = jdbc.update(sql,args);
if (temp > 0) {
System.out.println("更新成功");
}else {
System.out.println("更新失败");
}
}
//查询
public static User query(int id) {
String sql = "select * from user where id = ?";
Object args[] = new Object[]{id};
Object user = jdbc.queryForObject(sql,args,new BeanPropertyRowMapper(User.class));
return (User)user;
}
使用KeyHolder 获取Spring JdbcTemplate插入记录ID
public NamedParameterJdbcTemplate namedParameterJdbcTemplate;
public void insert(){
String insertSql = "insert into user(name,age) values (:name,:age)";
User user = new User();
user.setName("test");
user.setAget(18);
KeyHolder keyHolder = new GeneratedKeyHolder();
int insertResult = namedParameterJdbcTemplate.update(insertSql, new BeanPropertySqlParameterSource(user), keyHolder);
int userId = keyHolder.getKey().longValue();
}
批量操作
批量插入
@Autowired
private JdbcTemplate jdbcTemplate;
int batchInsert(final List<Stock> stockList)
{
logger.info("batchInsert() begin, stockList.size="+stockList.size());
int[] updatedCountArray = jdbcTemplate.batchUpdate("insert into stock(id,code,name) value(?,?,?)", new BatchPreparedStatementSetter() {
public void setValues(PreparedStatement ps, int i) throws SQLException {
// TODO Auto-generated method stub
ps.setLong(1, stockList.get(i).getId());//下标从1开始
ps.setString(2, stockList.get(i).getCode());
ps.setString(3, stockList.get(i).getName());
}
public int getBatchSize() {
return stockList.size();
}
});
int sumInsertedCount = 0;
for(int a: updatedCountArray)
{
sumInsertedCount+=a;
}
logger.info("batchInsert() end, stockList.size="+stockList.size()+",success inserted "+sumInsertedCount+" records");
return sumInsertedCount;
}
使用NamedJdbcTemplate批量插入
@Autowired
private NamedJdbcTemplate namedJdbcTemplate;
int batchDelete(final List<Stock> stockList)
{
logger.info("batchDelete() begin, codeList.size="+stockList.size());
SqlParameterSource[] batch = SqlParameterSourceUtils.createBatch(stockList.toArray());
int[] updatedCountArray = namedJdbcTemplate.batchUpdate("delete from stock where code=:code", batch);
int sumInsertedCount = 0;
for(int a: updatedCountArray)
{
sumInsertedCount+=a;
}
logger.info("batchInsert() end, stockList.size="+stockList.size()+",success deleted "+sumInsertedCount+" records");
return sumInsertedCount;
}
近期评论