增,删,改操作使用:
JdbcTemplate jdbcTemplate =new JdbcTemplate(dataSource);
(1)第一个参数是sql语句
(2)第二个参数是语句?值
String sql = "deletefrom t_user where id=?";
jdbcTemplate.update(sql, 1);
查询:
查询返回某一个值
l 第一个参数是sql语句
l 第二个参数是返回类型class
intcount =jdbcTemplate.queryForObject(sql,Integer.class);
(1)第一个参数是sql语句
(2)第二个参数是 RowMapper
* RowMapper是接口
* 之前web阶段学习过dbutils,使用dbutils时候,返回不同类型数据,new对象实现
,比如返回对象 BeanHandler,比如返回list集合BeanListHandler,BeanHandler或者BeanListHandler都是一个接口实现类,这个接口在dbutils是ResultSetHandler
* 在jdbcTemplate里面有接口和dbutils里面ResultSetHandler一样的,区别是在jdbcTemplate里面只有接口没有实现类,需要自己写实现类自己封装数据
( 3 )第三个参数是 sql 语句中?值Useruser = jdbcTemplate.queryForObject(sql,new MyRowMapper(), 3);
//自己写类,实现rowMapper接口,自己封装数据
class MyRowMapperimplements RowMapper<User> {
public User mapRow(ResultSetrs, introws)throws SQLException {
//1从结果集把数据获取出来
intid =rs.getInt("id");
String username = rs.getString("username");
String address = rs.getString("address");
//2把获取数据封装对象里面
Useruser =new User();
user.setId(id);
user.setUsername(username);
user.setAddress(address);
//3封装对象返回
returnuser;
}
}查询返回list集合
(1)第一个参数是sql语句
(2)第二个参数是接口 RowMapper
(3)第三个参数是语句?值
List<User> list =jdbcTemplate.query(sql,new MyRowMapper());