JDBC 04 Spring JDBC : JDBC Template

## Spring JDBC


    * Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发
    * 步骤:
        1. 导入jar包

             commons-logging-1.2      spring-beans-5.0.0.RELEASE     spring-core-5.0.0.RELEASE

             spring-jdbc-5.0.0.RELEASE     spring-tx-5.0.0.RELEASE


        2. 创建JdbcTemplate对象。依赖于数据源DataSource
            * JdbcTemplate template = new JdbcTemplate(ds);

            

package hb.univer.datasource.jdbctemplate;

import hb.univer.datasource.utils.JDBCUtils;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcTemplateDemo1 {
    public static void main(String[] args) {
        //1.导入jar包
        //2.创建JDBCTemplate对象
        JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
        //3.调用方法
        String sql ="update account set balance = 2000 where id = ?";
        int count = template.update(sql,2);
        System.out.println(count);
    }
}

    

    3. 调用JdbcTemplate的方法来完成CRUD的操作
            * update():执行DML语句。增、删、改语句
            * queryForMap():查询结果将结果集封装为map集合,将列名作为key,将值作为value 将这条记录封装为一个map集合
                * 注意:这个方法查询的结果集长度只能是1
            * queryForList():查询结果将结果集封装为list集合
                * 注意:将每一条记录封装为一个Map集合,再将Map集合装载到List集合中
            * query():查询结果,将结果封装为JavaBean对象
                * query的参数:RowMapper
                    * 一般我们使用BeanPropertyRowMapper实现类。可以完成数据到JavaBean的自动封装
                    * new BeanPropertyRowMapper<类型>(类型.class)
            * queryForObject:查询结果,将结果封装为对象
                * 一般用于聚合函数的查询

        4. 练习:
            * 需求:
                1. 修改1号数据的 salary 为 10000
                2. 添加一条记录
                3. 删除刚才添加的记录
                4. 查询id为1的记录,将其封装为Map集合
                5. 查询所有记录,将其封装为List
                6. 查询所有记录,将其封装为Emp对象的List集合
                7. 查询总记录数

            (修改之前的DB)

            

            * 代码:

             

package hb.univer.datasource.jdbctemplate;

import hb.univer.datasource.utils.JDBCUtils;
import org.junit.Test;
import org.springframework.jdbc.core.JdbcTemplate;


public class JdbcTemplateDemo2 {
    //Junit单元测试,可以让方法独立执行
    /**
     *  修改1号数据的 salary 为 10000
     */
    @Test
    public static void test1() {
        JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
        //定义sql
        String sql = "update account set balance = 10000 where id = 1";
        //执行sql
        int count = template.update(sql);
        System.out.println(count);
    }
}


                
       

发布了66 篇原创文章 · 获赞 0 · 访问量 1091

猜你喜欢

转载自blog.csdn.net/smallrain6/article/details/105133638