Spring Boot JDBC 连接数据库示例

介绍一下"Spring Boot JDBC 连接数据库示例"的完整攻略。

1. 环境准备

首先,我们需要准备JDK和Maven环境。确保已安装JDK环境,可以在命令行终端中输入以下命令进行验证:

java -version

验证通过后,下载和安装Maven。同样在终端中输入以下命令进行验证:

mvn -v

验证通过后,环境准备工作就做完了。

2. 添加依赖

在pom.xml文件中添加以下依赖项:

<!-- Spring Boot JDBC -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>

<!-- MySQL 数据库驱动 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>

添加完依赖之后,进行Maven编译。

3. 配置文件

在src/main/resources目录下创建application.properties文件,添加MySQL数据库的相关配置信息:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

4. 创建数据库表

在MySQL数据库中创建一个表,作为示例表,用来测试Spring Boot JDBC连接数据库的功能:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

5. 编写代码

5.1. 创建实体类

创建一个User实体类,用来映射user表:

public class User {
    private int id;
    private String name;
    private int age;

    // 省略setter/getter方法
}

5.2. 编写DAO类

在src/main/java目录下,创建一个名为com.example.demo.dao的包,在这个包下创建UserDao接口,用来定义CRUD操作:

public interface UserDao {
    void addUser(User user);
    void updateUser(User user);
    void deleteUserById(int id);
    User findUserById(int id);
    List<User> findAllUsers();
}

然后,在com.example.demo.dao包下创建UserDaoImpl类,这个类需要实现UserDao接口中定义的方法:

@Repository
public class UserDaoImpl implements UserDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Override
    public void addUser(User user) {
        String sql = "INSERT INTO user(name, age) VALUES (?, ?)";
        jdbcTemplate.update(sql, user.getName(), user.getAge());
    }

    @Override
    public void updateUser(User user) {
        String sql = "UPDATE user SET name = ?, age = ? WHERE id = ?";
        jdbcTemplate.update(sql, user.getName(), user.getAge(), user.getId());
    }

    @Override
    public void deleteUserById(int id) {
        String sql = "DELETE FROM user WHERE id = ?";
        jdbcTemplate.update(sql, id);
    }

    @Override
    public User findUserById(int id) {
        String sql = "SELECT * FROM user WHERE id = ?";
        RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
        return jdbcTemplate.queryForObject(sql, rowMapper, id);
    }

    @Override
    public List<User> findAllUsers() {
        String sql = "SELECT * FROM user";
        RowMapper<User> rowMapper = new BeanPropertyRowMapper<>(User.class);
        return jdbcTemplate.query(sql, rowMapper);
    }
}

5.3. 编写Controller类

在src/main/java目录下,创建一个名为com.example.demo.controller的包,在这个包下创建UserController类,用来定义路由和请求处理方法:

@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserDao userDao;

    @PostMapping("/")
    public String addUser(User user) {
        userDao.addUser(user);
        return "add user success";
    }

    @PutMapping("/")
    public String updateUser(User user) {
        userDao.updateUser(user);
        return "update user success";
    }

    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable("id") int id) {
        userDao.deleteUserById(id);
        return "delete user success";
    }

    @GetMapping("/{id}")
    public User findUserById(@PathVariable("id") int id) {
        return userDao.findUserById(id);
    }

    @GetMapping("/")
    public List<User> findAllUsers() {
        return userDao.findAllUsers();
    }
}

6. 测试代码

启动应用程序,访问http://localhost:8080/user/,通过Postman或其他工具测试CRUD操作。以下是两个测试示例。

6.1. 添加用户

发送POST请求http://localhost:8080/user/,请求体为json格式:

{
    "name": "张三",
    "age": 23
}

返回结果:

add user success

6.2. 获取用户列表

发送GET请求http://localhost:8080/user/,返回结果:

[
    {
        "id": 1,
        "name": "张三",
        "age": 23
    }
]

至此,"Spring Boot JDBC 连接数据库示例"的完整攻略就完成了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot JDBC 连接数据库示例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java 创建cookie和删除cookie

    当用户访问一个网站时,该网站可能会使用cookie来跟踪用户会话或记录用户活动。Java提供了创建和删除cookie的API,这些API可以通过相关的HTTP请求来使用。 创建Cookie 创建Cookie需要使用javax.servlet.http.Cookie类。该类提供了以下构造函数: public Cookie(String name, String…

    Java 2023年6月16日
    00
  • 常见的垃圾收集器算法有哪些?

    常见的垃圾收集器算法有哪些? 在大部分编程语言中,动态内存分配是必不可少的。为了防止内存泄漏,需要进行垃圾回收(Garbage Collection,简称GC),即在进行垃圾回收时收集并释放不再需要使用的存储器资源,在内存使用过多而导致程序出现异常时,垃圾回收是很重要的。而垃圾回收主要有2类算法 — 标记-清扫(Mark and Sweep)和复制式(Cop…

    Java 2023年5月10日
    00
  • Java实现批量导入excel表格数据到数据库中的方法

    下面是一份Java实现批量导入excel表格数据到数据库中的方法的攻略: 一、前置要求 数据库的表结构,表中的字段需要与excel表格中的字段一一对应。 Jdbc数据库驱动。 Apache POI库,它是用于读取和写入Microsoft Office二进制文件格式的Java库。 二、实现步骤 解析Excel文件,利用Apache POI库实现,将文件内容读取…

    Java 2023年5月20日
    00
  • Java实现的两种常见简单查找算法示例【快速查找与二分查找】

    下面我就来详细讲解一下Java实现的快速查找和二分查找算法。 一、快速查找 快速查找,也称为顺序查找,是一种最简单的查找算法。这种算法就是在待查找的一组数据中,顺序地遍历每一个数据,直到找到待查找的目标数据为止,或者遍历完数组都没有找到目标数据。 Java实现快速查找的代码如下: public class QuickFind { // 查找函数 public…

    Java 2023年5月19日
    00
  • Java程序去调用并执行shell脚本及问题总结(推荐)

    Java程序调用执行shell脚本完整攻略 本文将详细介绍Java程序如何调用并执行shell脚本以及相关问题和解决方案。在开始之前,首先要了解一下什么是shell脚本。 shell脚本简介 shell脚本是一种基于文本的脚本语言,旨在为Unix/Linux等操作系统提供一种便捷的命令行编程方式。shell脚本可以自动执行一系列操作,例如复制、移动和删除文件…

    Java 2023年5月23日
    00
  • SpringBoot server.port配置原理详解

    让我们来详细讲解一下“SpringBoot server.port配置原理详解”。 什么是server.port配置 在SpringBoot应用中,我们可以通过server.port属性来指定应用的端口号。这个属性可以在配置文件(如application.properties、application.yml等)或者命令行参数中指定。 配置文件中指定serve…

    Java 2023年5月20日
    00
  • Java String类的性质与比较

    针对“Java String类的性质与比较”,我准备了以下攻略: Java String类的性质 不可变性 Java中的String类是不可变的。这意味着,一旦创建了一个字符串对象,就不能更改它的内容。如果您需要修改一个字符串,必须创建一个新的对象,然后将原始对象的引用更改为指向新的字符串对象。 字符串池 Java中的字符串池是一种特殊的内存区域,它存储了所…

    Java 2023年5月27日
    00
  • windows下的WAMP环境搭建图文教程(推荐)

    下面就是“windows下的WAMP环境搭建图文教程(推荐)”的完整攻略: 安装WAMP 首先,我们需要下载WAMP软件。可以在官网 https://www.wampserver.com/en/ 下载。 然后,运行下载的exe文件,按照提示一步步进行安装即可。安装过程中会出现一些选项,如安装路径和默认浏览器等,请根据自己的需求选择。 安装完成后,在系统托盘中…

    Java 2023年6月16日
    00
合作推广
合作推广
分享本页
返回顶部