Java 超详细讲解核心类Spring JdbcTemplate,


目录
  • JdbcTemplate概述
  • JdbcTemplate开发步骤
  • JdbcTemplate快速入门
  • Spring产生JdbcTemplate对象
  • JdbcTemplate的常用操作
    • 修改操作
    • 删除和查询全部操作
    • 查询单个数据操作
  • 本章小结

    JdbcTemplate概述

    它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作 模板类。例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操 作消息队列的JmsTemplate等等。

    JdbcTemplate开发步骤

    ① 导入spring-jdbc和spring-tx坐标

    ② 创建数据库表和实体

    ③ 创建JdbcTemplate对象

    ④ 执行数据库操作

    JdbcTemplate快速入门

    ① 在pom.xml文件中导入spring-jdbc和spring-tx坐标

    <!--导入spring的jdbc坐标--> 
    <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-jdbc</artifactId>
     <version>5.0.5.RELEASE</version>
    </dependency>
    <!--导入spring的tx坐标--> 
    <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-tx</artifactId>
     <version>5.0.5.RELEASE</version>
    </dependency>

    ② 创建数据库表和实体

    表名称account
    namevarchar(20)
    moneyvarchar(20)

    public class Account {
        private String name;
        private double money;
        //为方便展示省略get和set方法,具体开发中不能省。
    }

    ③ 创建JdbcTemplate对象,执行数据库操作

    //1、创建数据源对象
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    dataSource.setDriverClass("com.mysql.jdbc.Driver");
    dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");
    dataSource.setUser("root");
    dataSource.setPassword("root");
    //2、创建JdbcTemplate对象
    JdbcTemplate jdbcTemplate = new JdbcTemplate();
    //3、设置数据源给JdbcTemplate
    jdbcTemplate.setDataSource(dataSource);
    //4、执行操作
    jdbcTemplate.update("insert into account values(?,?)","tom",5000);

    Spring产生JdbcTemplate对象

    我们可以将JdbcTemplate的创建权交给Spring,将数据源DataSource的创建权也交给Spring,在Spring容器内部将数据源DataSource注入到JdbcTemplate模版对象中,applicationContext.xml配置如下:

    <!--数据源DataSource--> 
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
     <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
     <property name="jdbcUrl" value="jdbc:mysql:///test"></property>
     <property name="user" value="root"></property>
     <property name="password" value="root"></property>
    </bean>
    <!--JdbcTemplate--> 
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
     <property name="dataSource" ref="dataSource"></property>
    </bean>

     从容器中获得JdbcTemplate进行添加操作。

    @Test
    public void testSpringJdbcTemplate() throws PropertyVetoException {
        ApplicationContext applicationContext = new 
            ClassPathXmlApplicationContext("applicationContext.xml");
        JdbcTemplate jdbcTemplate = applicationContext.getBean(JdbcTemplate.class);
        jdbcTemplate.update("insert into account values(?,?)","lucy",5000);
    }

    JdbcTemplate的常用操作

    修改操作

    @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext.xml")
    public class JdbcTemplateCRUDTest { 
        @Autowired
        private JdbcTemplate jdbcTemplate;
        @Test
        //测试修改操作
        public void testUpdate(){
        jdbcTemplate.update("update account set money=? where name=?",1000,"tom");
        }
    }

    删除和查询全部操作

    @Test
    public void testDelete(){
        jdbcTemplate.update("delete from account where name=?","tom");
    }
    @Test
    public void testQueryAll(){
        List<Account> accounts = jdbcTemplate.query("select * from account", new 
     BeanPropertyRowMapper<Account>(Account.class));
        for (Account account : accounts) {
            System.out.println(account.getName());
        }
    }

    查询单个数据操作

    @Test
    //测试查询单个对象操作
    public void testQueryOne(){
        Account account = jdbcTemplate.queryForObject("select * from account where name=?", new BeanPropertyRowMapper<Account>(Account.class), "tom");
        System.out.println(account.getName());
    }
    @Test
    //测试查询单个简单数据操作(聚合查询)
    public void testQueryCount(){
        Long aLong = jdbcTemplate.queryForObject("select count(*) from account", Long.class);
        System.out.println(aLong);
    }

    本章小结

    Spring JdbcTemplate开发步骤:

    ① 导入spring-jdbc和spring-tx坐标

    ② 创建数据库表和实体

    ③ 创建JdbcTemplate对象

    JdbcTemplate jdbcTemplate = new JdbcTemplate();

    jdbcTemplate.setDataSource(dataSource);

    ④ 执行数据库操作

    更新操作:

    dbcTemplate.update(sql,params)

    查询操作:

    jdbcTemplate.query(sql,Mapper,params)

    jdbcTemplate.queryForObject(sql,Mapper,params)

    到此这篇关于Java 超详细讲解核心类Spring JdbcTemplate的文章就介绍到这了,更多相关Java Spring JdbcTemplate内容请搜索3672js教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持3672js教程!

    您可能感兴趣的文章:
    • spring中jdbcTemplate.batchUpdate的几种使用情况
    • SpringBoot使用JdbcTemplate访问操作数据库基本用法
    • Java Spring JdbcTemplate基本使用详解
    • 超细致讲解Spring框架 JdbcTemplate的使用
    • 详解SpringBoot中JdbcTemplate的事务控制
    • Spring框架JdbcTemplate数据库事务管理完全注解方式

    评论关闭