SpringBoot基础系列学习(五):JdbcTemplate 访问数据库

文章目录

一丶介绍

Spring Boot作为Spring的集大成者,自然会将JdbcTemplate集成进去。Spring Boot针对JDBC的使用提供了对应的Starter包:spring-boot-starter-jdbc,它其实就是在Spring JDBC上做了进一步的封装,方便在 Spring Boot 项目中更好地使用JDBC。

  1. JdbcTemplate的特点

    速度快,相对于ORM框架,JDBC的方式是最快的。

    配置简单,Spring封装的,除了数据库连接之外,几乎没有额外的配置。

    使用方便,就像DBUtils工具类,只需注入JdbcTemplate对象即可。

  2. JdbcTemplate的几种类型的方法

    JdbcTemplate虽然简单,功能却非常强大。它提供了非常丰富、实用的方法,归纳起来主要有以下几种类型的方法:

    • execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句。
    • update、batchUpdate方法:用于执行新增、修改与删除等语句。
    • query和queryForXXX方法:用于执行查询相关的语句。
    • call方法:用于执行数据库存储过程和函数相关的语句。

总的来说,新增、删除与修改三种类型的操作主要使用update和batchUpdate方法来完成。query和queryForObject方法中主要用来完成查询功能。execute方法可以用来执行任意的SQL、call方法来调用存储过程。

二丶引入依赖

java 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MYSQL包 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 默认就内嵌了Tomcat 容器,如需要更换容器也极其简单-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

三丶配置配置文件

java 复制代码
spring:
  datasource:
    driver-class-name:
      com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springbootStudy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
    username: root
    password: root

小知识:mysql5和8的驱动不一样,可自行搜索

四丶创建表

CREATE TABLE user (
id bigint NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
age int DEFAULT NULL,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

五丶java代码

java 复制代码
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * @author Administrator
 */
@RestController
@Slf4j
public class JdbcTemplateController {
    @Resource
    JdbcTemplate jdbcTemplate;
    @GetMapping("/count")
    public void count(){
        Long l = jdbcTemplate.queryForObject("select count(id) from user", Long.class);
        log.info("user表中有"+l+"条数据");
    }
    @GetMapping("/save")
    public void save(){
        int i = jdbcTemplate.update("insert into user(name,age)value (?,?)", "白菜治2",22);
        log.info("user表新增了"+i+"条数据");
    }
}
相关推荐
tzhou644523 小时前
MySQL备份与恢复
数据库·mysql·adb
一过菜只因3 小时前
MySql Jdbc
android·数据库·mysql
地瓜伯伯3 小时前
Nginx终极配置指南:负载均衡、限流、反向代理、IP白名单、SSL、云原生、DNS解析、缓存加速全都有
spring boot·nginx·spring·spring cloud·微服务·云原生·负载均衡
思成不止于此3 小时前
MySQL 查询实战(三):排序与综合练习
数据库·笔记·学习·mysql
茅坑的小石头4 小时前
数据库表设计,概念模型、逻辑模型、物理模型的区别,目标、主要内容、所处阶段、面向人群,数据库无关性
数据库
tebukaopu1484 小时前
mysql数据备份还原
数据库·mysql
zyxqyy&∞4 小时前
mysql代码小练-2
数据库·mysql
JIngJaneIL4 小时前
基于Java非遗传承文化管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
+VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue心理健康管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
南部余额5 小时前
踩坑与解惑:深入理解 SpringBoot 自动配置原理与配置排除机制
java·spring boot·自动配置原理·import