当前位置: 首页 > news >正文

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

文章目录

  • 一丶介绍
  • 二丶引入依赖
  • 三丶配置配置文件
  • 四丶创建表
  • 五丶java代码

一丶介绍

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方法来调用存储过程。

二丶引入依赖

<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>

三丶配置配置文件

spring:datasource:driver-class-name:com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/springbootStudy?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=falseusername: rootpassword: 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代码

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 {@ResourceJdbcTemplate 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+"条数据");}
}

在这里插入图片描述

http://www.lryc.cn/news/479512.html

相关文章:

  • JavaEE-多线程初阶(3)
  • 从入门到精通:如何在Vue项目中有效运用el-image-viewer
  • uniapp组件实现省市区三级联动选择
  • 【C++】异常处理机制(对运行时错误的处理)
  • C++ boost steady_timer使用介绍
  • JVM 由多个模块组成,每个模块负责特定的功能
  • ORACLE批量插入更新如何拆分大事务?
  • kafka+zookeeper的搭建
  • Spark中的宽窄依赖
  • 安装和运行开发微信小程序
  • 地图框架之mapbox——(五)
  • Hive 的数据类型
  • 2024下半年软考考后估分,快来预约!
  • 第8章 利用CSS制作导航菜单作业
  • 基于Spring Boot的船舶监造系统的设计与实现,LW+源码+讲解
  • linux强制修改mysql的root账号密码
  • CentOS系统查看CPU、内存、操作系统等信息
  • 针对解决前后端BUG的个人笔记
  • 5G时代已来:我们该如何迎接超高速网络?
  • 企业级-实现Redis封装层
  • SpringBoot使用ApplicationContext.getBean启动报空指针处理记录
  • MongoDB Shell 基本命令(三)聚合管道
  • Go语言的内置容器
  • HCIP考试怎样预约?随时可以考试吗?
  • 香港航空 阿里滑块 acw_sc__v3 分析
  • JS传统函数中常见的 this 绑定问题
  • 跨域问题以及使用vscode的LiveServer插件跨域访问
  • 现代Web开发:WebSocket 实时通信详解
  • 《深度学习》——深度学习基础知识(全连接神经网络)
  • nginx 部署2个相同的vue