SpringJDBC连接池———JDBCTemplate入门

定义:
是Spring框架对JDBC的封装,提供了一个JDBCTemplate对象,简化JDBC开发
使用:
1 导包
2 创建JDBCTemplate 对象 依赖于DataSource
3 调用JDBCTemplate 方法
3.1 update 增 删 改 DML语句
3.2 queryForMap() 查询结果封装为map 集合 将列名key value
3.3 queryForList() 查询结果封装List 集合
3.4 query() 查询结果 JavaBean对象
3.5queryForObject() 将结果封装成对象
JDK环境是1.9
数据库表与类的关系是相对应的,表名对应类名,字段对应类中对象

我先创建一个员工类,声明对象与数据库表相对应,
对象类型要使用引用类型,不能使用基本数据类型

public class Emp {
    private Integer id;
    private String ename;
    private Integer job_id;
    private Integer mgr;
    private String joindate;
    private Double salary;
    private Double bonus;
    private Integer dept_id;

    public Emp() {
    }

    public Emp(Integer id, String ename, Integer job_id, Integer mgr, String joindate, Double salary, Double bonus, Integer dept_id) {
        this.id = id;
        this.ename = ename;
        this.job_id = job_id;
        this.mgr = mgr;
        this.joindate = joindate;
        this.salary = salary;
        this.bonus = bonus;
        this.dept_id = dept_id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public Integer getJob_id() {
        return job_id;
    }

    public void setJob_id(Integer job_id) {
        this.job_id = job_id;
    }

    public Integer getMgr() {
        return mgr;
    }

    public void setMgr(Integer mgr) {
        this.mgr = mgr;
    }

    public String getJoindate() {
        return joindate;
    }

    public void setJoindate(String joindate) {
        this.joindate = joindate;
    }

    public Double getSalary() {
        return salary;
    }

    public void setSalary(Double salary) {
        this.salary = salary;
    }

    public Double getBonus() {
        return bonus;
    }

    public void setBonus(Double bonus) {
        this.bonus = bonus;
    }

    public Integer getDept_id() {
        return dept_id;
    }

    public void setDept_id(Integer dept_id) {
        this.dept_id = dept_id;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "id=" + id +
                ", ename='" + ename + '\'' +
                ", job_id=" + job_id +
                ", mgr=" + mgr +
                ", joindate='" + joindate + '\'' +
                ", salary=" + salary +
                ", bonus=" + bonus +
                ", dept_id=" + dept_id +
                '}';
    }
}

JDBC入门

 public static void main(String[] args){
        //创建JDBCTemplate对象  依赖DataSource
        JdbcTemplate jt = new JdbcTemplate(JDBCUtils.getDataSource());
        //调用JDBCTemplate方法
        String sql="insert into users values (6,?,?)";
        int i = jt.update(sql, "常军凯", "111");
        System.out.println(i);
    }

显示结果:

404, 2019 4:21:11 下午 com.alibaba.druid.pool.DruidDataSource info
信息: {dataSource-1} inited
1

使用JDBCTemplate方法

public class Demo2JDBCTemplate {
    JdbcTemplate jt=new JdbcTemplate(JDBCUtils.getDataSource());
    //Junit单元测试  可以让方法独立运行
    //修改id为1的salary
    @Test
    public void test1(){
        //创建JDBCTemplate对象  依赖于DataSource
        String sql="update emp set salary=20000 where id=?";
        int i = jt.update(sql, 1001);
        System.out.println(i);
    }
    //添加数据
    @Test
    public void test2(){
        String sql="insert into emp (id,ename,dept_id) values (?,?,?)";
        int i = jt.update(sql, 1015, "周杰伦", 11);
        System.out.println(i);
    }
    //查询所有
    @Test
    public void test3(){
        String sql="select * from emp";
        List<Map<String, Object>> maps = jt.queryForList(sql);
        for(Map<String, Object> s:maps){
            System.out.println(s);
        }
    }
    //查询所有记录  将其封装为Emp对象的List集合
    @Test
    public void test4(){
        String sql="select * from emp";
        List<Emp> list = jt.query(sql, new BeanPropertyRowMapper<Emp>(Emp.class));
        for(Emp e:list){
            System.out.println(e);
        }
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值