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. IntelliJ IDEA 2024激活码(亲测有效,仅供学习和交流)

    资源是从官网购买,仅供学习和交流 激活码链接地址

  2. Logback日志文件失效

    2021-07-30碰到加了logback-spring.xml依然不生效的问题,特此记录. 发现问题 在项目中引入logback-spring.xml文件,该文件配置了会在项目根目录下生成logs文 ...

  3. 大模型推理指南:使用 vLLM 实现高效推理

    本文主要分享如何使用 vLLM 实现大模型推理服务. 1. 概述 大模型推理有多种方式比如 最基础的 HuggingFace Transformers TGI vLLM Triton + Tensor ...

  4. 解密Facebook产品的开发流程

    作者: 王淮  来源: <程序员>  发布时间: 2013-03-25 17:22  阅读: 3750 次  推荐: 6   原文链接   [收藏]   [编者注]王淮是Facebook第 ...

  5. Centos7 安装python3与python2.7 共存

    前言 在centos7服务器上,linux系统默认安装有python2.7,这是系统服务等会依赖到的,所以系统的python2.7是不可以卸载的,避免系统出现问题.那么问题就来了,我们现在使用的pyt ...

  6. 原生JS点名器,随机数

    因为工作内容的需要自己琢磨了一个随机数的点名器,很早就写出了一版,今天无意间又看到了之前写的代码,还是有很多bug的,今天做了完善在这里分享给大家 <script type="text ...

  7. 【JS篇】控制子集超过一定数量开始轮播

    [JS篇]控制子集超过一定数量开始轮播, 这个是很早的时候的一个效果了,经过代码的不断迭代升级修改,现在是最封装的一版本,通过面向对象传参数,适用于任何一个需要放置 数量达到一定条件后可执行的函数 / ...

  8. uni.showModel内容换行

    前情 最近在做小程序项目,选用有是当前比较火的uniapp技术栈,在产品项目中用到不少的需要引导用户确认后才继续操作的弹框. 为什么想到我去换行? 其实showModel弹框的content是支持自动 ...

  9. 使用Python实现两组数据纵向排序

    一.引言 在数据分析和处理过程中,排序是一项非常常见的操作.排序操作能够让我们更清晰地理解数据,从而进行进一步的分析和处理.在Python中,排序操作通常可以通过内置函数或第三方库来实现.本文将详细讲 ...

  10. 关于Git上传项目报错error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413

    问题 今天用Git上传项目时,最后一步push时命令行报错 error: RPC failed; HTTP 413 curl 22 The requested URL returned error: ...