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日

相关文章

  • Mybatis实现动态增删改查功能的示例代码

    让我们来详细讲解”Mybatis实现动态增删改查功能的示例代码”的完整攻略吧。 1. 引入Mybatis-Plus依赖 首先,我们需要在项目中引入Mybatis-Plus的依赖。在pom.xml文件中添加以下内容: <dependency> <groupId>com.baomidou</groupId> <artif…

    Java 2023年5月20日
    00
  • JAVA annotation入门基础

    JAVA annotation入门基础 什么是Annotation? Annotation 是Java5.0引入的注解机制,它提供了一种注释程序的方法,这些注释可以在编译期,类加载期或者运行期被读取和处理。Annotation 可以看作是程序中的元数据,它提供数据给程序员,让程序员在编写程序时能够更加充分地利用Java语言的特性。Annotation 是Ja…

    Java 2023年5月26日
    00
  • java去除数组重复元素的四种方法

    关于“java去除数组重复元素的四种方法”的完整攻略,我给您详细讲解。 一、方法一:使用Set去重 使用Set去重是一种简单而高效的方法,它利用Set集合的特点,将重复元素去除,最终得到一个无序不重复的数组。具体步骤如下: 将数组转换为List集合。 创建一个新的HashSet集合。 将List中的元素依次加入HashSet中。 将HashSet转换为数组。…

    Java 2023年5月26日
    00
  • Java虚拟机装载和初始化一个class类代码解析

    Java虚拟机(JVM)的主要任务之一是加载Java类并执行它们的代码。在JVM将class文件转换为可执行代码并在执行时,Java虚拟机会完成以下过程: 类加载 验证类 准备阶段 解析阶段 初始化阶段 以下是这些过程的完整详细解释: 类加载:在Java程序运行时,JVM首先会搜索类加载路径(classpath)来查找并加载字节码文件。类加载器将字节码文件读…

    Java 2023年5月26日
    00
  • java实现桌球小游戏

    下面开始详细讲解“Java实现桌球小游戏”的完整攻略。 1. 游戏规则 桌球小游戏是一种简单有趣的游戏,玩家需要通过控制球拍反弹球,让球进入对方的球门。本游戏的玩家分为两种,分别是左侧玩家和右侧玩家。玩家通过键盘操作控制自己的球拍,分别使用上下方向键控制球拍的运动方向。当其中一方的球进入对方的球门时,对应方即获得一分,游戏结束时,得分高的一方获胜。 2. 技…

    Java 2023年5月19日
    00
  • java中如何获取相关参数

    获取相关参数在Java编程中是非常重要的,这些参数可以是程序运行的环境变量,也可以是用户在程序运行时输入的参数。本篇文章将介绍Java中如何获取相关参数的完整攻略。 获取环境变量 Java中获取环境变量需要用到System类的getProperty方法,该方法可以获取指定的系统和环境属性。以下是示例代码: String path = System.getPr…

    Java 2023年5月26日
    00
  • Java实现简单树结构

    下面我来详细讲解“Java实现简单树结构”的完整攻略。 什么是树结构? 树结构是一种经典的数据结构,它是由节点和边组成的层次结构。树结构中有一个顶点叫做根节点,其他节点则称作子节点。树结构具有以下特点: 根节点没有父节点; 每个节点都可能有若干个子节点; 除了根节点外,每个节点都有唯一一个父节点; 如果一个节点没有子节点,我们称其为叶节点。 如何实现树结构?…

    Java 2023年5月18日
    00
  • IntelliJ IDEA引入第三方jar包或查看Java源码的时候报decompiled.class file bytecode version:52.0(java 8)错误的解决办法

    当我们在使用 IntelliJ IDEA 引入第三方jar包或查看Java源码的时候,有时会出现以下错误提示信息: Error: java: decompiled.class file bytecode version:52.0 (java 8) 这是因为项目使用的Java版本与第三方jar包或源码使用的Java版本不一致导致的。要解决此问题,我们需要采取以…

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