1、update可以带参数,而execute不可以。例如:
jdbcTemplate.update("update TableA set name = 'Andy’ where id=?", new Object[] {new Integer(3)});
jdbcTemplate.update("insert into sys_person(person_id, person_name, gender) values(?,?,?)",new Object[]{"eeee","eeee","eeee"});
jdbcTemplate.execute("update TableA set name = 'Andy’ where id=3");
2、update背后是借助于java.sql.PreparedStatement完成,而execute是基于java.sql.Statement。
3、update返回int, 即受影响的行数。execute返回void
2、update背后是借助于java.sql.PreparedStatement完成,而execute是基于java.sql.Statement。
3、update返回int, 即受影响的行数。execute返回void
ps:
查1(无返回值):
this.jdbcTemplate.query("select * from sys_person t", new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
System.out.println(rs.getString("person_id") + " " + rs.getString("person_name"));
}
});
查2(有返回值):
<pre name="code" class="java">public List<Emp> findAll() {
// 定义返回结果
List<Emp> entities =new ArrayList<Emp>();
entities = (List<Emp>) jdbcTemplate.query(
"select id,name,sex,pass,hiredate from emp", new RowMapper() {
@Override
public Object mapRow(ResultSet rs, int rowNum)
throws SQLException {
Emp emp = new Emp();
emp.setId(rs.getInt("id"));
emp.setName(rs.getString("name"));
emp.setSex(rs.getString("sex"));
emp.setPass(rs.getString("pass"));
emp.setHiredate(rs.getDate("hiredate"));
return emp;
}
});
return entities;
}
查3(同2):
<pre name="code" class="java">public Emp findById(Integer id) {
// 定义返回结果
Emp entity = null;
entity = (Emp) jdbcTemplate.queryForObject(
"select id,name,sex,pass,hiredate from emp where id=?",
new Object[] { id }, new RowMapper() {
@Override
public Object mapRow(ResultSet rs, int rowNum)
throws SQLException {
Emp emp = new Emp();
emp.setId(rs.getInt("id"));
emp.setName(rs.getString("name"));
emp.setSex(rs.getString("sex"));
emp.setPass(rs.getString("pass"));
emp.setHiredate(rs.getDate("hiredate"));
return emp;
}
});
return entity;
}
增:
this.jdbcTemplate.update("insert into sys_person(person_id, person_name, gender) values(?,?,?)",new Object[]{"eeee","eeee","eeee"});
删:
int i = jdbcTemplate.update("delete from emp where id=? ",
new Object[] { entity.getId() });
改:
int i = jdbcTemplate
.update(
"update emp set name=?,sex=?,pass=?,hiredate=? where id=?",
new Object[] { entity.getName(), entity.getSex(),
entity.getPass(), entity.getHiredate(),
entity.getId() });