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进行增删查改,写下详细步骤,防止大脑丢失记忆!
原文:https://www.cnblogs.com/xxcbz/p/14372794.html