java -jdbctemplate小例子

回顾上篇,知识总结

建好一个JDBCutils中Druid工厂类创建的数据源DataSource,即建好一个池子后,就翘起二郎腿,开始由template负责挑水打水,归还桶子,就是连接都不用引用,Statement也不用引用,甚至不用释放资源,全权由template负责。

数据库:
在这里插入图片描述

update方法

/**
 * 这是一个实例,完成template操作小任务
 * 顺便完成Junit单元测试的学习
 */
public class JdbcTemplateDemoE {
    /**
     * 1.修改数据salary为10000
     */
    @Test
    public void test1(){
        String sql = "update user set salary = ? where id = ?";
        JdbcTemplate template = new JdbcTemplate(JDBCutils.getDataSource());
        template.update(sql, 10000,1001);
    }
}

使用queryformap方法从数据库里面获取map集合

@Test
    public void test2(){
        String sql = "select * from emp where id = ?";
        JdbcTemplate template = new JdbcTemplate(JDBCutils.getDataSource());
        Map<String,Object> map = template.queryForMap(sql,1001);
        System.out.println(map);
    }

输出结果

  • {id=1001, ename=aebc, job_id=4, mgr=1004, joindate=2000-12-17, salary=8000.00, bonus=null, dept_id=20}

可以看出其实获取的是一个map,列名作为KEY键,只能拿一条结果。

使用list方法从数据库里面获取map集合集

@Test
    public void test2(){
        String sql = "select * from emp";
        JdbcTemplate template = new JdbcTemplate(JDBCutils.getDataSource());
        List<Map<String, Object>> maps = template.queryForList(sql);
        for (Map<String, Object> map : maps) {
            System.out.println(map);
        }
    }
    //结果
    {id=1004, ename=唐僧, job_id=2, mgr=1009, joindate=2001-04-02, salary=29750.00, bonus=null, dept_id=20}
{id=1005, ename=李逵, job_id=4, mgr=1006, joindate=2001-09-28, salary=12500.00, bonus=14000.00, dept_id=30}
{id=1006, ename=宋江, job_id=2, mgr=1009, joindate=2001-05-01, salary=28500.00, bonus=null, dept_id=30}
{id=1007, ename=刘备, job_id=2, mgr=1009, joindate=2001-09-01, salary=24500.00, bonus=null, dept_id=10}
{id=1008, ename=猪八戒, job_id=4, mgr=1004, joindate=2007-04-19, salary=30000.00, bonus=null, dept_id=20}
{id=1009, ename=罗贯中, job_id=1, mgr=null, joindate=2001-11-17, salary=50000.00, bonus=null, dept_id=10}
{id=1010, ename=吴用, job_id=3, mgr=1006, joindate=2001-09-08, salary=15000.00, bonus=0.00, dept_id=30}
{id=1011, ename=沙僧, job_id=4, mgr=1004, joindate=2007-05-23, salary=11000.00, bonus=null, dept_id=20}

使用list方法从数据库里面获取map集合集,并且封装为emp对象的list

在这里插入图片描述

使用了BeanpropertyRowMapper

@Test
    public void test4(){
        String sql = "select * from emp";
        JdbcTemplate template = new JdbcTemplate(JDBCutils.getDataSource());
        List<emp> query = template.query(sql, new BeanPropertyRowMapper<emp>(emp.class));
        for (emp emp : query) {
            System.out.println(emp);
        }
    }
     emp{id=1012, ename='李逵', job_id=4, mgr=1006, joindate=2001-12-03 00:00:00.0, salary=9500.0, bonus=null, dept_id=30}
emp{id=1013, ename='小白龙', job_id=4, mgr=1004, joindate=2001-12-03 00:00:00.0, salary=30000.0, bonus=null, dept_id=20}
emp{id=1014, ename='关羽', job_id=4, mgr=1007, joindate=2002-01-23 00:00:00.0, salary=13000.0, bonus=null, dept_id=10}
emp{id=2000, ename='草拟吗', job_id=4, mgr=null, joindate=null, salary=null, bonus=null, dept_id=null}
发布了78 篇原创文章 · 获赞 3 · 访问量 6597

猜你喜欢

转载自blog.csdn.net/weixin_38023259/article/details/104151473