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日

相关文章

  • java并查集算法带你领略热血江湖

    Java并查集算法带你领略热血江湖 什么是并查集 并查集是一种用于管理不相交集合(并查集中,“集合”通常是指一个性质相同的元素的集合)的数据结构。它支持在并集、查集两个操作中的任何一个在接近O(1)的时间复杂度完成,且相对简单易懂。 并查集的应用场景 网络的连通性判断 最小生成树算法 图像处理领域的一些应用 并查集的基本操作 初始化:每个元素都由自己单独构成…

    Java 2023年5月19日
    00
  • 详解netty中的frame解码器

    下面是详解netty中的frame解码器的攻略: 1. 前言 Netty是一款高性能、可扩展性强、可维护性好的Java 网络编程框架。其中,数据包的传输是网络编程中的重要环节。在数据包传输过程中,需要对数据包进行解码操作,将二进制流转化为对应的Java对象。 Netty中基于框架机制实现了多个解码器,其中frame解码器是Netty中比较常用的解码器之一。本…

    Java 2023年5月20日
    00
  • SpringBoot JSON全局日期格式转换器实现方式

    下面是“SpringBoot JSON全局日期格式转换器实现方式”的完整攻略,分为以下几个部分: 需求 在进行SpringBoot开发时,经常需要使用到JSON数据,而时间日期类型在进行序列化和反序列化时容易发生问题。因此,我们需要实现一个全局的日期格式转换器,以便于在转换时管理时间日期类型。 实现步骤 1. 实现全局日期格式转换器 在进行SpringBoo…

    Java 2023年6月2日
    00
  • 详细聊一聊java中封装的那点事

    接下来我将为大家讲解“详细聊一聊 Java 中封装的那点事”的攻略。 什么是封装? 封装是面向对象编程中的三大特性之一,它是指隐藏对象的属性和实现细节,仅对外部暴露一些必要的接口来与外部交互,这样可以更好地保护对象的数据,避免不必要的访问和修改。 在 Java 中,通常使用访问修饰符来实现封装,包括:public(公有的)、private(私有的)和 pro…

    Java 2023年5月26日
    00
  • Servlet实现文件上传的三种方法总结

    Servlet实现文件上传的三种方法总结 介绍 文件上传是Web开发中常见的需求之一,可以通过Servlet实现。本文将总结Servlet实现文件上传的三种方法。 方法一:使用Apache的FileUpload 步骤: 下载Apache的FileUpload工具包,导入到项目中。 在Servlet中获取客户端上传的文件的输入流,然后使用FileItemFac…

    Java 2023年6月15日
    00
  • 深入解读MVC模式和三层架构

    深入解读MVC模式和三层架构攻略 1. 什么是MVC模式 MVC模式是一种软件架构模式,其主要目的是将应用程序分成三个独立的组件:Model,View和Controller。每个组件职责分工明确,便于进行维护和升级。 ModelModel是一个独立的组件,它是应用程序的基础数据和业务规则的主要表示形式。它负责与数据库进行交互,保存数据和业务逻辑。 ViewV…

    Java 2023年6月15日
    00
  • 将本地SpringBoot项目发布到云服务器的方法

    将本地Spring Boot项目发布到云服务器通常需要以下步骤: 选择云服务器和操作系统:云服务器的选择需要考虑到项目规模、负载以及所在地区等因素。常见的云服务器提供商有阿里云、腾讯云、AWS等。选择操作系统时,需要根据项目的技术栈来决定,常用的操作系统有Linux、Ubuntu等。 安装Java环境:在云服务器上安装Java环境是部署Spring Boot…

    Java 2023年5月20日
    00
  • Java如何读写Properties配置文件(Properties类)

    下面我将详细讲解“Java如何读写Properties配置文件(Properties类)”的完整攻略。 什么是Properties配置文件 Properties文件是Java中一种非常常用的配置文件格式,它采用Key-Value的形式存储数据,是一种轻量级的配置文件。Properties文件一般用于存储应用程序配置信息,如数据库连接信息、系统配置信息等。 P…

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