JdbcTemplate

1.导入jar包

2.创建JdbcTemplate对象,依赖于数据源DataSource

       JdbcTemplate jt = new JdbcTemplate(new ComboPooledDataSource()); //依赖于数据源DataSource

3.调用JdbcTemplate方法来完成CRUD操作

  update();

    String sql = "update t_user set password = ? where id=?";
       jt.update(sql,"111","1");
@Test
    public void test01(){
        String sql = "insert into t_user values(null,?,?)";
        int i = jt.update(sql, "校长", "123");
        System.out.println(i);
    }

  queryForMap();会把查询出来的单个记录封装为map集合

@Test
    public void test03(){
        String sql = "select * from t_user where id=?";
        Map<String, Object> map = jt.queryForMap(sql, 1);
        System.out.println(map);
    }

  queryForList();查询所有记录封装到list集合中

@Test
    public void test02(){
        String sql = "select * from t_user";
        List<Map<String, Object>> maps = jt.queryForList(sql);
        for (Map<String, Object> map : maps) {
            System.out.println(map);
        }
    }

  query();   查询出来的单个对象封装为一个javabean

@Test
    public void test04(){
        String sql ="SELECT * FROM t_user";
        List<User> userList = jt.query(sql, new RowMapper<User>() {
            @Override
            public User mapRow(ResultSet rst, int i) throws SQLException {
                User u = new User();
                int id = rst.getInt(1);
                String username = rst.getString(2);
                String password = rst.getString(3);
                u.setId(id);
                u.setUsername(username);
                u.setPassword(password);
                return u;
            }
        });
        for (User user : userList) {
            System.out.println(user);
        }
    }

//使用RowMapper的实现类BeanPropertyRowMapper
//注意该方法中必须保证bean中各个属性的数据名于数据库中字段名一致。数据类型也需要注意
@Test
public void test05(){ String sql ="SELECT * FROM t_user"; List<User> userList = jt.query(sql,new BeanPropertyRowMapper<User>(User.class)); for (User user : userList) { System.out.println(user); } }

  queryForObject();  用于聚合函数的执行

@Test
    public void test06(){
        String sql = "select count(id) from t_user";
        Long aLong = jt.queryForObject(sql, Long.class);
        System.out.println(aLong);
    }

4. 不用close(),因为模板会自动处理

 
原文地址:https://www.cnblogs.com/Difcipo/p/14016776.html