Java学习之jdbc06_SprintJDBC_Template_javaBean

Spring JDBC
  1. Spring 框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发

  2. 步骤:

    • 导入依赖jar包
    • 创建JdbcTemplate对象,依赖于数据源DataSource
    • 调用JdbcTemplate的方法来完成(CRUD)操作
      • update():执行DML语句。增、删、改操作

      • queryForMap():查询结果会被封装为Map集合
        key为字段,key_value为它的值,只能封装数据一行数据

      • queryForList():查询结果会被封装为List集合
        查询出的每一条记录都会被封装为Map集合,然后添加到List集合中

      • query():查询结果会被封装为JavaBean对象

        • 一般用BeanPropertyRowMapper实现类,可以自动完成javaBean的封装,不然就得自己实现,起不到化简的效果
        List<Acc> list = template.query(sql, new BeanPropertyRowMapper<Acc>(Acc.class));
        
      • queryForObjec:将查询结果分装为对象

                Long tatle = template.queryForObject(sql, Long.class);
                System.out.println(tatle);
        
      • JavaBean对象

        class Acc{
        //    这里要全部写成封装类,因为数据库中有可能有null值,而基本数据类型不能赋值为null
        //    所以Int应该改成Integer,这里我没改,因为我的数据中没有null值,但是要注意
            private int id;
            private String name;
            private int balance;
        
            public int getId() {
                return id;
            }
        
            public void setId(int id) {
                this.id = id;
            }
        
            public String getName() {
                return name;
            }
        
            public void setName(String name) {
                this.name = name;
            }
        
            public int getBalance() {
                return balance;
            }
        
            public void setBalance(int balance) {
                this.balance = balance;
            }
        
            @Override
            public String toString() {
                return "Acc{" +
                        "id=" + id +
                        ", name='" + name + '\'' +
                        ", balance=" + balance +
                        '}';
            }
        }
        
  3. 代码示例

//        1.导入jar包
//        1.1创建数据流
        Properties pro = new Properties();
        DataSource ds = null;
        try {
            pro.load(JdbcTemplateDemo2.class.getClassLoader().getResourceAsStream("druid.properties"));
//            阿里数据库连接池,createDataSource()是一个静态方法,参数是配置文件
           ds = DruidDataSourceFactory.createDataSource(pro);
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

//        2.创建JDBCTemplate对象
        JdbcTemplate template = new JdbcTemplate(ds);
//       定义sql语句
        String sql = "update account set balance = 5000 where id=?";
//        调用执行方法,参数的顺序对应?的位置
        int count = template.update(sql, 4);
//        处理结果
        System.out.println(count);
//        释放资源等一系列操作,它自己就能完成
    }

Template依赖于Datasource,这里用的是Druid数据连接池,其他的连接池也可以,事先导入了连接池的jar包,还有JDBC的jar包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值