三.三 queryForMap方法
三.三.一 方法重载
通常使用的是
Map<String, Object> queryForMap(String sql, @Nullable Object... args)
方法。
三.三.二 举例,查询全部数据
三三.二.一 测试方法
@Test public void queryForMapTest(){ Map<String,Object> userMap=userService.queryForMapById(2); log.info(userMap); }
三.三.二.二 实现方法
@Override public Map<String, Object> queryForMapById(Integer id) { String sql="select id,name,sex,age,description from user where id=?"; Map<String,Object> map=jdbcTemplate.queryForMap(sql,id); return map; }
三.三.二.三 查看数据结果
三.四 queryForObject方法
三.四.一 方法重载
三.四.二 举例,查询全部数据
三四.二.一 测试方法
@Test public void queryForSingleTest(){ Integer count=userService.countAll(); log.info("查询总数目,{}",count); }
三.四.二.二 实现方法
@Override public Integer countAll() { String sql="select count(1) from user"; Integer count=jdbcTemplate.queryForObject(sql,Integer.class); return count; }
三.四.二.三 查看数据结果
三.五 queryForList方法
三.五.一 方法重载
三.五.二 举例,查询全部数据
三.五.二.一 测试方法
@Test public void queryForIdsTest(){ List<Integer> idList=userService.queryForIdList(); log.info(idList); }
三.五.二.二 实现方法
@Override public List<Integer> queryForIdList() { String sql="select id from user"; List<Integer> idList=jdbcTemplate.queryForList(sql,Integer.class); return idList; }
三.五.二.三 查看数据结果
三.六 execute 方法
三.六.一 方法重载
三.六.二.一 测试方法
@Test public void executeTest(){ userService.createTable(); }
三.六.二.二 实现方法
@Override public void createTable() { String sql="create table dept(id int(11),name varchar(200))"; jdbcTemplate.execute(sql); }
三.六.二.三 查看数据结果
dept 部门表 创建成功。
三.七 query 方法
三.七.一 方法重载
三.七.二.一 测试方法
@Test public void beanTest(){ List<User> userList=userService.queryBeanForAll(); userList.forEach(n->log.info(n)); }
三.七.二.二 实现方法
@Override public List<User> queryBeanForAll() { String sql="select id,name,sex,age,description from user "; List<User> userList=jdbcTemplate.query(sql,new MyUserMapper()); return userList; } class MyUserMapper implements RowMapper<User>{ @Override public User mapRow(ResultSet resultSet, int num) throws SQLException { //根据resultSet 表示结果集, num 表示索引行 User tempUser=new User(); tempUser.setId(resultSet.getInt("id")); tempUser.setName(resultSet.getString("name")); tempUser.setSex(resultSet.getString("sex")); tempUser.setAge(resultSet.getInt("age")); tempUser.setDescription(resultSet.getString("description")); return tempUser; } }
三.七.二.三 查看数据结果
三.八 queryForRowSet 方法
三.七.一 方法重载
三.七.二.一 测试方法
@Test public void rowSetTest(){ List<User> userList=userService.queryRowSetForAll(); userList.forEach(n->log.info(n)); }
三.七.二.二 实现方法
@Override public List<User> queryRowSetForAll() { String sql="select id,name,sex,age,description from user "; SqlRowSet sqlRowSet=jdbcTemplate.queryForRowSet(sql); List<User> userList=new ArrayList<>(); while(sqlRowSet.next()){ User tempUser=new User(); tempUser.setId(sqlRowSet.getInt("id")); tempUser.setName(sqlRowSet.getString("name")); tempUser.setSex(sqlRowSet.getString("sex")); tempUser.setAge(sqlRowSet.getInt("age")); tempUser.setDescription(sqlRowSet.getString("description")); userList.add(tempUser); } return userList; }
三.七.二.三 查看数据结果
本章节的代码放置在 github 上:
https://github.com/yuejianli/springboot/tree/develop/JdbcTemplate
谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!