Spring MVC实现mysql数据库增删改查完整实例

以下是关于“Spring MVC实现MySQL数据库增删改查完整实例”的完整攻略,其中包含两个示例。

Spring MVC实现MySQL数据库增删改查完整实例

在Spring MVC中,我们可以使用JdbcTemplate类来实现MySQL数据库的增删改查操作。在本文中,我们将讲解如何使用JdbcTemplate类来实现MySQL数据库的增删改查操作。

MySQL数据库操作实现原理

Spring MVC使用JdbcTemplate类来实现MySQL数据库的增删改查操作。我们可以在Controller中定义一个方法来处理数据库操作请求。在该方法中,我们可以使用JdbcTemplate类来执行SQL语句,并将结果返回给客户端。

MySQL数据库操作用法

使用Spring MVC实现MySQL数据库操作的步骤如下:

  1. 在Controller中定义一个方法来处理数据库操作请求。
@Autowired
private JdbcTemplate jdbcTemplate;

@GetMapping("/users")
public List<User> getUsers() {
    String sql = "SELECT * FROM users";
    List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
    return users;
}

在本示例中,我们定义了一个名为getUsers的方法,并使用@GetMapping注解标记该方法。我们使用@Autowired注解来注入JdbcTemplate类,并使用该类来执行SQL语句。在本示例中,我们执行了一个查询语句,并将结果封装在一个名为User的实体类中返回给客户端。

  1. 在HTML页面中添加数据库操作按钮。
<button onclick="getUsers()">查询用户</button>

在本示例中,我们创建了一个名为getUsers的按钮,并使用onclick事件来触发getUsers方法。

  1. 运行项目并点击按钮。

在本示例中,我们运行了项目并点击了getUsers按钮。我们将执行一个查询语句,并将结果封装在一个名为User的实体类中返回给客户端。

示例

以下是一个示例,演示如何使用Spring MVC实现MySQL数据库的增删改查操作:

  1. 创建一个名为spring-mvc-demo的Maven项目。

  2. 在项目的POM文件添加Spring MVC和MySQL的依赖库。

<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.8</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.25</version>
    </dependency>
</dependencies>
  1. 创建一个名为User的实体类。
public class User {

    private int id;
    private String name;
    private int age;

    // getters and setters
}

在本示例中,我们创建了一个名为User的实体类,并在该类中定义了三个属性:id、name和age。

  1. 在application.properties文件中添加MySQL数据库配置。
spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

在本示例中,我们在application.properties文件中添加了MySQL数据库的配置信息,包括数据库URL、用户名、密码和驱动程序类名。

  1. 创建一个名为UserController的Controller类。
@RestController
public class UserController {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @GetMapping("/users")
    public List<User> getUsers() {
        String sql = "SELECT * FROM users";
        List<User> users = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(User.class));
        return users;
    }

    @PostMapping("/users")
    public Result addUser(@RequestBody User user) {
        String sql = "INSERT INTO users(name, age) VALUES(?, ?)";
        int result = jdbcTemplate.update(sql, user.getName(), user.getAge());
        if (result > 0) {
            return Result.success();
        } else {
            return Result.error("添加用户失败");
        }
    }

    @PutMapping("/users/{id}")
    public Result updateUser(@PathVariable int id, @RequestBody User user) {
        String sql = "UPDATE users SET name = ?, age = ? WHERE id = ?";
        int result = jdbcTemplate.update(sql, user.getName(), user.getAge(), id);
        if (result > 0) {
            return Result.success();
        } else {
            return Result.error("更新用户失败");
        }
    }

    @DeleteMapping("/users/{id}")
    public Result deleteUser(@PathVariable int id) {
        String sql = "DELETE FROM users WHERE id = ?";
        int result = jdbcTemplate.update(sql, id);
        if (result > 0) {
            return Result.success();
        } else {
            return Result.error("删除用户失败");
        }
    }
}

在本示例中,我们创建了一个名为UserController的Controller类,并使用@RestController注解标记该类。我们使用@Autowired注解来注入JdbcTemplate类,并使用该类来执行SQL语句。我们使用@GetMapping注解来处理GET请求,并返回一个名为users的List对象。我们使用@PostMapping注解来处理POST请求,并将一个名为User的实体类插入到数据库中。我们使用@PutMapping注解来处理PUT请求,并将一个名为User的实体类更新到数据库中。我们使用@DeleteMapping注解来处理DELETE请求,并将一个名为id的整数从数据库中删除。

  1. 创建一个名为Result的返回结果类。
public class Result {

    private int code;
    private String message;
    private Object data;

    // getters and setters
}

在本示例中,我们创建了一个名为Result的返回结果类,并在该类中定义了三个属性:code、message和data。

  1. 创建一个名为index.html的HTML页面。
<!DOCTYPE html>
<html>
<head>
    <title>用户管理</title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>姓名</th>
                <th>年龄</th>
            </tr>
        </thead>
        <tbody id="user-list">
        </tbody>
    </table>
    <form>
        <input type="text" name="name" placeholder="姓名">
        <input type="text" name="age" placeholder="年龄">
        <button type="button" onclick="addUser()">添加用户</button>
    </form>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        function getUsers() {
            $.get("/users", function(data) {
                var html = "";
                for (var i = 0; i < data.length; i++) {
                    html += "<tr>";
                    html += "<td>" + data[i].id + "</td>";
                    html += "<td>" + data[i].name + "</td>";
                    html += "<td>" + data[i].age + "</td>";
                    html += "</tr>";
                }
                $("#user-list").html(html);
            });
        }

        function addUser() {
            var name = $("input[name='name']").val();
            var age = $("input[name='age']").val();
            $.ajax({
                url: "/users",
                type: "POST",
                data: JSON.stringify({
                    "name": name,
                    "age": age
                }),
                contentType: "application/json",
                success: function(data) {
                    alert("添加用户成功");
                    getUsers();
                },
                error: function(xhr, status, error) {
                    var result = JSON.parse(xhr.responseText);
                    alert(result.message);
                }
            });
        }
    </script>
</body>
</html>

在本示例中,我们创建了一个名为index.html的HTML页面,并在该页面中添加了一个表格和一个表单。我们使用jQuery的$.get方法来获取用户列表,并将用户列表渲染到表格中。我们使用jQuery的$.ajax方法来添加用户,并在添加用户成功后刷新用户列表。

  1. 运行项目并访问http://localhost:8080/index.html。

在本示例中,我们运行了项目并访问了http://:8080/index.html。我们可以在该页面中添加、更新和删除用户,并查看用户列表。

总结

Spring MVC使用JdbcTemplate类来实现MySQL数据库的增删改查操作。我们可以在Controller中定义一个方法来处理数据库操作请求,并使用JdbcTemplate类来执行SQL语句。在使用Spring MVC实现MySQL数据库操作时,我们需要遵循SpringMVC规范,确保代码可维护性和可扩展。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring MVC实现mysql数据库增删改查完整实例 - Python技术站

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

相关文章

  • Apache Hudi结合Flink的亿级数据入湖实践解析

    Apache Hudi 是什么? Apache Hudi 是 Apache 基金会下的开源项目,它提供了一个数据湖解决方案,支持增量式的数据处理和可变的数据表现形式。Hudi 最初由 Ubiquiti 区块链团队在 2016 年开发,2019 年捐赠给 Apache 软件基金会。Hudi 的核心特性是 Delta Lake 和 Apache Kafka 支持…

    Java 2023年6月2日
    00
  • spring security结合jwt实现用户重复登录处理

    实现用户重复登录处理的一种常用方法是结合Spring Security和JWT的认证机制。下面是实现该方法的详细攻略,包括两个示例。 准备工作 首先,需要在Spring Boot项目中添加以下依赖: <dependency> <groupId>org.springframework.boot</groupId> <a…

    Java 2023年5月20日
    00
  • 用JSP下载word文件(不会直接用IE打开)

    详细讲解“用JSP下载word文件(不会直接用IE打开)”的完整攻略如下: 1. 确定需要下载的文件路径 首先需要确认需要下载的word文件路径,并将其存储到服务器上,以便于后续读取。可以在服务器上建立一个专门用于存储文件的目录,比如 /files/,然后将需要下载的word文件存储在该目录下。 File file = new File(request.ge…

    Java 2023年6月15日
    00
  • 结合Service层讲解DAO层的异常处理操作

    让我详细讲解一下“结合Service层讲解DAO层的异常处理操作”的攻略。 首先,我们需要理解DAO(Data Access Object)层的作用。DAO层的主要任务是实现数据的持久化操作,负责与数据库交互,为上层提供数据访问接口。在实现DAO层的过程中,异常处理也是至关重要的一部分。 DAO层的异常处理分为两种情况: SQL异常 SQL异常是指在数据库操…

    Java 2023年5月27日
    00
  • SpringBoot中时间类型 序列化、反序列化、格式处理示例代码

    下面我就来为您详细讲解“SpringBoot中时间类型 序列化、反序列化、格式处理示例代码”的完整攻略。 1. 背景介绍 在实际开发中,我们经常会遇到时间类型的序列化、反序列化、格式处理问题,SpringBoot在处理时间类型时提供了很多便利,本文将介绍SpringBoot中时间类型的序列化、反序列化、格式处理示例代码。 2. 时间类型的序列化 在Sprin…

    Java 2023年5月20日
    00
  • Java 实战项目之家居购物商城系统详解流程

    Java 实战项目之家居购物商城系统详解流程攻略 1. 项目背景 “家居购物商城系统”是一个基于Java技术栈,以SpringBoot作为基础构建实现的一款网上商城系统。本系统致力于实现商品的浏览、下单、支付等功能,并将其展示在一个易于理解和操作的平台上。本系统结构简洁合理、功能完整、易于拓展和维护,是一个非常优秀的小型电子商务平台。 2. 技术框架 本系统…

    Java 2023年5月24日
    00
  • Java开发基础日期类代码详解

    Java开发基础日期类代码详解 在Java开发中,经常需要处理日期和时间相关的数据。为了方便处理日期和时间,Java提供了一些日期类。这些日期类可以帮助我们实现日期格式化、日期比较、日期计算等操作。本文将详细讲解Java日期类的使用方法,包括如何创建日期对象、如何进行日期格式化和解析、如何比较日期、如何计算日期等。 如何创建日期对象 Java中有多种日期类,…

    Java 2023年5月20日
    00
  • Java实现一致性Hash算法详情

    Java实现一致性Hash算法 什么是一致性哈希算法? 一致性哈希算法是一种分布式哈希算法,常用于分布式缓存、分布式数据库等场景,主要解决如何有效地将请求路由到不同的服务器,从而提高系统性能。 一致性哈希算法的原理 一致性哈希算法将每个资源映射到一个二维环上,即将环划分为若干个虚拟节点。当有新的数据需要放入缓存中时,首先将该数据哈希成一个数字,然后将该数字映…

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