jdbcTemplate实现查询操作
//查询总条数
@Test
public void testCount(){
//创建数据库信息
DriverManagerDataSource dataSource= new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///springday03");
dataSource.setUsername("root");
dataSource.setPassword("root");
//创建jdbcTemplate模板对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
//调用模板方法进行实现操作
//创建sql语句
String sql="select count(*) from user";
int rows=jdbcTemplate.queryForObject(sql, Integer.class);
System.out.println(rows);
}
public class TemplateDemo2 {
/*
* QueryRunner runner = new QueryRunner(datasource);
* 返回对象
* runner.query(sql,new BeanHandler<User>(User.class));
*
* 返回list集合
* runner.query(sql,new BeanListHandler<User>(User.class));
*
* 1-在dbutils时候,有接口ResultHandler
* dbutils提供了针对不同的结果实现类
*
* 2-jdbcTemplate实现查询,有接口RowMapper
* jdbcTemplate针对这个酒后没有提供实现类,得到不同的类型数据需要自己进行数据封装
*
* */
//以下是jdbcTemplate实现查询,的具体操作
//查询单个对象
@Test
public void testSelect(){
//创建数据库信息
DriverManagerDataSource dataSource= new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///springday03");
dataSource.setUsername("root");
dataSource.setPassword("root");
//创建jdbcTemplate模板对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
//调用模板方法进行实现操作
//创建sql语句
String sql="select * from user where username=?";
//第二个参数是就扣RowMapper,需要自己写类实现接口,自己做数据封装
User user=jdbcTemplate.queryForObject(sql, new MyRowMapper(), "mary");
System.out.println(user);
}
//查询集合
@Test
public void testSelectList(){
//创建数据库信息
DriverManagerDataSource dataSource= new DriverManagerDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///springday03");
dataSource.setUsername("root");
dataSource.setPassword("root");
//创建jdbcTemplate模板对象
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
//调用模板方法进行实现操作
//创建sql语句
String sql="select * from user";
//第二个参数是就扣RowMapper,需要自己写类实现接口,自己做数据封装
List<User> list=jdbcTemplate.query(sql, new MyRowMapper());
System.out.println(list);
}
}
class MyRowMapper implements RowMapper<User>{
@Override
public User mapRow(java.sql.ResultSet rs, int num) throws SQLException {
String username=rs.getString("username");
String password=rs.getString("password");
//创建对象保存
User user = new User();
user.setUsername(username);
user.setPassword(password);
return user;
}
}