第一种方式,重载PreparedStatementCreator

jdbcTemplate.update(new PreparedStatementCreator()...{

public PreparedStatement createPreparedStatement(Connection conn)...{
String sql="insert into user (name,age) values(?,?)";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,name);
ps.setInt(2,age);
return ps;
}
}
);
第二种方式,重载PreparedStatementSetter

jdbcTemplate.update("insert into user(name,age) values(?,?)",new PreparedStatementSetter()...{

public void setValues(PreparedStatement ps) throws SQLException ...{
ps.setString(1,name);
ps.setInt(2,age);
}
});

//jdbcTemplate会自动创建PreparedStatementCreator实例,以提供传递给setValues方法的ps对象
第三种方式,直接使用SQL
jdbcTemplate.update("insert into user (name,age) "+"values (' " + name + " ', " +age +")");