JdbcTemplate

Spring对Jdbc的Api简单封装

  • 开发步骤
    1.导入Spring-jdbc、spring-tx坐标
    2.创建数据库表和实例
    3.创建jdbcTemplate对象
    4.执行数据库操作
    • 导入坐标

      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.3.15</version>
      </dependency>
      <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.3.15</version>
      </dependency>
    • 实体类

      domain.Account

      public class Account {
      private String name;
      private double money;
      // Getter/Setter
      // toString()
      }
    • 操作

      JdbcTemplateTest

      public class JdbcTemplate {
      @Test
      public void test1() {
      // 创建数据源对象
      ComboPooledDataSource dataSource = new ComboPooledDataSource();
      dataSource.setDataSource('com.mysql.jdbc.Driver');
      dataSource.setJdbcClass('jdbc:mysql://localhost:3306/test');
      dataSource.setUser("root");
      dataSource.setPassword("123456"); JdbcTemplate jdbcTemplate = new JdbcTemplate();
      jdbcTemplate.setDataSource(dataSource); // 设置数据源 // 执行数据库操作
      int row = jdbcTemplate.update("insert into account values(?,?)", "mkl", 2000);
      System.out.pringln(row);
      }
      }
      • 使用Spring操作对象 配置文件方式

        配置连接Bean

        <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test"/>
        <property name="user" value="root"/>
        <property name="password" value="123456"/>
        </bean>
        <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
        </bean>

        操作Template对象

        public class JdbcTemplateTest {
        @Test
        public void test2() throws Exception {
        ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
        JdbcTemplate jdbcTemplate = app.getBean(JdbcTemplate.class);
        int row = jdbcTemplate.update("insert into account values(?,?)", "mkl", 1000);
        System.out.println(row);
        }
        }

        抽取配置到properties : 略

      • 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, "mkl");
          } @Test
          public void testDelete() {
          jdbcTemplate.update("delete from account where name=?", "mkl");
          }
          }
        • 查询多个对象

          @Test
          public void testQueryAll() {
          List<Account> accountList = jdbcTemplate.query("select * from account", new BeanPropertyRowMapper<Account>(Account.class));
          System.out.println(accountList);
          }

          查看单个对象

          @Test
          public void testQueryAll() {
          Account account = jdbcTemplate.queryForObject(
          "select * from account where name=?",
          new BeanPropertyRowMapper<Account>(Account.class),
          "mkl"
          );
          System.out.println(account);
          }

          聚合查总数

          @Test
          public void testQueryAll() {
          Long count = jdbcTemplate.queryForObject(
          "select count(*) from account",
          Long.class
          );
          System.out.println(count);
          }

Spring基础 02 | JdbcTemplate的更多相关文章

  1. Spring基础02——Spring HelloWorld

    1.首先我们来创建一个HelloWorld类,通过Spring来对这个类进行实例化 package com.wzy.lesson1; /** * @author wzy * @version 1.0 ...

  2. 第65节:Java后端的学习之Spring基础

    Java后端的学习之Spring基础 如果要学习spring,那么什么是框架,spring又是什么呢?学习spring中的ioc和bean,以及aop,IOC,Bean,AOP,(配置,注解,api) ...

  3. javascript基础02

    javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...

  4. Spring基础知识

    Spring基础知识 利用spring完成松耦合 接口 public interface IOutputGenerator { public void generateOutput(); } 实现类 ...

  5. javaSE基础02

    javaSE基础02 一.javac命令和java命令做什么事情? javac:负责编译,当执行javac时,会启动java的编译程序,对指定扩展名的.java文件进行编译,生成了jvm可以识别的字节 ...

  6. java基础学习05(面向对象基础02)

    面向对象基础02 实现的目标 1.String类的使用2.掌握this关键字的使用3.掌握static关键字的使用4.了解内部类 String类 实例化String对象一个字符串就是一个String类 ...

  7. spring基础整理

    spring基础教程:https://www.tutorialspoint.com/spring/spring_overview.htm 注入实例 <bean id="" c ...

  8. Spring 基础知识

    Spring架构简单描述 原文:https://www.shiyanlou.com/courses/document/212 Spring 概述 1. Spring 是什么 Spring是一个开源的轻 ...

  9. spring boot与jdbcTemplate的整合案例2

    简单入门了spring boot后,接下来写写跟数据库打交道的案例.博文采用spring的jdbcTemplate工具类与数据库打交道. 下面是搭建的springbootJDBC的项目的总体架构图: ...

  10. Spring基础配置

    从毕业到现在我一直从事Android开发,但是对JavaEE一直念念不忘,毕业校招的时候,一个礼拜拿了三个offer,岗位分别是Android.JavaEE和JavaSE,后来觉得Android比较简 ...

随机推荐

  1. SQL Server创建用户只能访问指定数据库和视图

    我们在给数据库用户赋予权限时,有时候不想让该用户看到太多过程表和过程视图,这时就需要限定用户的访问权限 第一步:创建用户 创建数据库连接后,进入安全性--登录名,单击右键,新建登录名,并设置默认数据库 ...

  2. c语言里关于本地变量的一些规则

    关于块的定义(自己的理解):就是☞{ }这个区域里面的东西以及" {} "这个符号的本身 ·本地的变量是定义在块内的 -->>1.它可以定义在函数的块内 void sw ...

  3. 去除tinymce中粘贴的样式

    import "tinymce/plugins/paste"; tinymce.init({ ...其他配置, plugins: ["paste"], past ...

  4. LeetCode128 最长连续序列

    最长连续序列 题目链接:LeetCode128 描述 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度. 请你设计并实现时间复杂度为 O(n) 的算法 ...

  5. 超实用!阿里云应用——Air780EP低功耗4G模组AT开发示例

    ​ Air780EP是合宙推出的一款低功耗4G全网通模组,兼容模组行业1618经典封装,支持OpenCPU开发及全功能数传AT开发,可广泛应用于多样化的物联网终端. 针对客户朋友需求反馈,本期特别推出 ...

  6. 盘点Vue3 watch的一些关键时刻能够大显身手的功能

    前言 watch这个API大家应该都不陌生,在Vue3版本中给watch增加不少有用的功能,比如deep选项支持传入数字.pause.resume.stop方法.once选项.onCleanup函数. ...

  7. Python网络爬虫之requests模块2

    Python网络爬虫之requests模块(2) 今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 ...

  8. Lucene 源代码剖析-2 Lucene是什么

    转载自 http://download.csdn.net/source/858994 源地址下是 Word 文档,这里转换成HTML 格式 1           Lucene是什么 Apache L ...

  9. php-fpm常见错误

    1. WARNING: Nothing matches the include pattern '/usr/local/php7/etc/php-fpm.d/*.conf' # cd /usr/loc ...

  10. elasticsearch权限验证(Auth+Transport SSL)

    转载:https://knner.wang/2019/11/26/install-elasticsearch-cluster-7-4.html 在新版的Elastic中,基础版(免费)的已经提供了基础 ...