《springboot实战》第七章 springboot 数据库应用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 《springboot实战》第七章 springboot 数据库应用

以spring-boot-starter-data-jdbc加载连接MySQL数据库

1、添加依赖

在pom.xml里面导入数据库操作依赖和数据驱动

<!--导入数据库操作依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<!--导入数据驱动-->
<dependency>
     <groupId>com.mysql</groupId>
     <artifactId>mysql-connector-j</artifactId>
     <scope>runtime</scope>
     <version>8.0.30</version>
 </dependency>

2、配置数据源

在application.yaml文件里加入数据源连接信息

#数据源连接信息
spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://127.0.0.1:3306/springdev
    driver-class-name: com.mysql.cj.jdbc.Driver

3、JdbcTemplate应用

3.1、JdbcTemplate提供的方法

3.1.1、execute方法

可以用于执行任何SQL语句,一般用于执行DDL语句

3.1.2、update方法和batchUpdate方法

update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批量处理相关语句。

3.1.3、query方法及queryForXXX方法

用于执行查询相关语句。

3.1.4、call方法

用于执行存储过程、函数相关语句。

3.2、从数据库中读取数据到实体对象

3.2.1、定义TUser实体类

import lombok.Data;
@Data
public class TUser {
    private int id;
    private String user_name;
    private String pwd;
}

3.2.2、读取单个对象

import com.hqyj.springboot.entity.TUser;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
@Slf4j
@SpringBootTest
class UserTests {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Test
    void selectOne() {
        String sql="select id,user_name,pwd from t_user where id=666";
        RowMapper<TUser> rowMapper=new BeanPropertyRowMapper<TUser>(TUser.class);
        TUser user= jdbcTemplate.queryForObject(sql, rowMapper);
        log.info("Hello {}" , user);
    }
}

输出:

2023-04-04 18:01:07.095 INFO 8556 — [ main]

com.hqyj.springboot.UserTests : Hello TUser(id=666,

user_name=lisi, pwd=123)

3.3、增加数据

@Test
    void insertOne() {
        String sql="insert into t_user (user_name,pwd) values (?,?)";
        int count= jdbcTemplate.update(sql, new Object[]{"小明","q123456"});
        log.info("count {}" , count);
    }

输出:

2023-04-04 18:07:49.285 INFO 1020 — [ main]

com.hqyj.springboot.UserTests : count 1

3.4、删除数据

@Test
    void delete() {
        String sql="delete from t_user where id=?";
        int count=  jdbcTemplate.update(sql,667);
        log.info("count {}" , count);
    }

输出:

2023-04-04 18:07:49.285 INFO 1020 — [ main]

com.hqyj.springboot.UserTests : count 1

3.5、修改数据

@Test
    void update() {
        String sql="update t_user set user_name=?,pwd=? where id=?";
        int count= jdbcTemplate.update(sql,new Object[]{"小王","q12345",667});
        log.info("count {}" , count);
    }

输出:

2023-04-04 18:12:56.192 INFO 15236 — [ main]

com.hqyj.springboot.UserTests : count 1

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
26天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的冬奥会科普平台设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
45 0
|
26天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生体质测试管理系统设计与实现(系统源码+文档+数据库+部署)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
38 2
|
26天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue实现的大学生就业服务平台设计与实现(系统源码+文档+数据库+部署等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
67 6
|
26天前
|
JavaScript NoSQL Java
基于SpringBoot+Vue的班级综合测评管理系统设计与实现(系统源码+文档+数据库+部署等)
✌免费选题、功能需求设计、任务书、开题报告、中期检查、程序功能实现、论文辅导、论文降重、答辩PPT辅导、会议视频一对一讲解代码等✌
40 4
|
30天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
56 2
|
30天前
|
缓存 NoSQL JavaScript
Vue.js应用结合Redis数据库:实践与优化
将Vue.js应用与Redis结合,可以实现高效的数据管理和快速响应的用户体验。通过合理的实践步骤和优化策略,可以充分发挥两者的优势,提高应用的性能和可靠性。希望本文能为您在实际开发中提供有价值的参考。
56 11
|
2月前
|
人工智能 容灾 关系型数据库
【AI应用启航workshop】构建高可用数据库、拥抱AI智能问数
12月25日(周三)14:00-16:30参与线上闭门会,阿里云诚邀您一同开启AI应用实践之旅!
|
3月前
|
Java 关系型数据库 数据库连接
使用 Spring Boot 执行数据库操作:全面指南
使用 Spring Boot 执行数据库操作:全面指南
314 1
|
3天前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
47 25
|
12天前
|
关系型数据库 MySQL 数据库
Docker Compose V2 安装常用数据库MySQL+Mongo
以上内容涵盖了使用 Docker Compose 安装和管理 MySQL 和 MongoDB 的详细步骤,希望对您有所帮助。
91 42

热门文章

最新文章