首页 > 其他 > 详细

crud

时间:2021-07-13 20:37:02      阅读:47      评论:0      收藏:0      [点我收藏+]

SpringBoot整合MyBatis进行增删查改详细步骤:

第一步

建立数据库

CREATE TABLE user(id INT auto_increment,name VARCHAR(255),age INT,PRIMARY KEY(id));
INSERT INTO USER VALUES(1,"张三",12);
INSERT INTO USER VALUES(NULL,"李四",17);
INSERT INTO USER VALUES(null,"王五",21);

  然后创建新工程:

 

 技术分享图片

 

 

 选择

技术分享图片

 

 

 技术分享图片

 

 

 

技术分享图片

 

 

 这样项目就创建完成,第一次创建需要下载很多东西,要等一会儿.

技术分享图片

 

 

 这是需要建立的文件夹及目录??

首先是写配置文件

application.yml(看个人习惯,我比较喜欢yml格式)

技术分享图片

 

 技术分享图片

 

 

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
thymeleaf:
  cache: false #关闭缓存
  mode: HTML5 #设置模板类型
  encoding: utf-8  #设置编码

  

然后是实体类,实体类就是放需要的属性,默认私有

注意:实体类属性名称和类型与数据库保持一致

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

 

 

 然后写UserMapper文件

技术分享图片

 

 

 技术分享图片

 

 

 写service的接口

技术分享图片

 

 

 技术分享图片

 

 

 service的实现类

技术分享图片

 

 

 技术分享图片

 

 

 当然,前面我把相关sql语句写在了UserMapper中,所以UserMapper.xml中我们就不用去写了

技术分享图片

 

 

 技术分享图片

 

 

 

下面是xml配置文件的头文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxxx.crudmybatis01.mapper.UserMapper"/>

namespace要写自己的映射文件所在级别

技术分享图片

 

 

 技术分享图片

 

 

 话不多说,就这个代码,简单的很

方法的讲解:

@RequestMapping

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

也就是说,页面识别某个方法的一个标志

参数里的Model用来存放值,传输到前端页面用于展示model.addAttribute()

用return返回到html页面

修改的话,我们需要先进行单个查询,获取到需要修改的信息,展示到前端页面,供客户更改,点击提交,输入框中的信息提交到后台,从而运行修改这个方法,后台可以选择转发到首页(全部展示)

添加的话,大致相同,我使用的是a标签,点击a标签跳转到add方法,而这个add方法呢,用于跳转到增加页面,用户输入内容,点击提交,这个时候参数传入add2方法中,从而完成信息的增加,然后转发到首页(全部展示)

@Controller
public class UserController {
    @Autowired
    UserService us;

    //查询全部
    @RequestMapping("/show")
    public String show(Model model) {
        List<User> all = us.fidAll();
        model.addAttribute("all", all);
        return "show";
    }

    //查询一个
    @RequestMapping("/selectone")
    public String selectone(Model model, Integer id) {
        User oneById = us.getOneById(id);
        model.addAttribute("oneById", oneById);
        return "change";
    }

    @RequestMapping("/change")
    public String change(User user) {
        us.change(user);
        return "redirect:show";
    }

    //删除
    @RequestMapping("/del")
    public String del(Integer id) {
        us.del(id);
        return "redirect:show";
    }

    //增加
    @RequestMapping("/add")
    public String add(User user) {
        return "add";
    }

    @RequestMapping("/add2")
    public String add2(String name, Integer age) {
        System.out.println(name+age);
        us.saveAdd(name, age);

        return "redirect:show";
    }

  接下来就是页面:

全部查询页面

技术分享图片

 

 

 技术分享图片

 

 

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1" cellspacing="0">
    <tr>
        <td>编号</td>
        <td>姓名</td>
        <td>年龄</td>
        <td>操作</td>
    </tr>
    <tr th:each="user:${all}">
        <td th:text="${user.id}">id编号</td>
        <td th:text="${user.name}">name姓名</td>
        <td th:text="${user.age}">年龄age</td>
        <td><a th:href="@{/selectone(id=${user.id})}" >修改</a>
            <a th:href="@{/del(id=${user.id})}">删除</a></td>
    </tr>
    <a th:href="@{/add}">添加人员信息</a>
</table>
</body>
</html>

  添加页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/add2" method="post">
    请输入用户名: <input type="text" name="name"/></br>
    请输入年龄:   <input type="text" name="age"/>

    <button th:type="submit">提交</button>
</form>

</body>
</html>

  修改页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form th:action="@{/change}" method="post">
    <input type="hidden" name="id" th:value="${oneById.id}">
    请输入姓名:<input type="text" name="name" th:value="${oneById.name}" }>
    请输入年龄:<input type="text" name="age" th:value="${oneById.age}" }>
    <button type="submit">提交</button>
</form>
</body>
</html>

  好了,这就是整合MyBatis进行增删查改,写下详细步骤,防止大脑丢失记忆!

crud

原文:https://www.cnblogs.com/xxcbz/p/14372794.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!