pom.xml 文件的配置与上篇文章中的配置相同,只需进行其他代码的编写
一、对 User 表进行 CRUD 操作
1、创建实体类 User
package com.how2java.springboot.pojo;
public class User {
public int id;
public String name;
public String sex;
public int age;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return this.age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
2、创建映射接口类 UserMapper
package com.how2java.springboot.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import com.how2java.springboot.pojo.User;
@Mapper
public interface UserMapper {
public List<User> list(User user);
public void add(User user);
public void delete(User user);
public void update(User user);
}
3、创建映射文件 UserMapper.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.how2java.springboot.mapper.UserMapper">
<insert id="add" parameterType="User" >
insert into huiyuan ( name , age,sex ) values (#{name},#{age},#{sex})
</insert>
<delete id="delete" parameterType="User" >
delete from huiyuan where id= #{id}
</delete>
<update id="update" parameterType="User" >
update huiyuan
<set>
<if test="name!=null">name=#{name},</if>
<if test="age!=null">age=#{age},</if>
<if test="sex!=null">sex=#{sex}</if>
</set>
where id=#{id}
</update>
<select id="list" resultType="User">
select * from huiyuan
</select>
</mapper>
4、配置 application.properties文件
配置路径与数据源
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/db_database24?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=914717
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath:com/how2java/springboot/mapper/*.xml
mybatis.type-aliases-package=com.how2java.springboot.pojo
5、创建控制器类UserController
package com.how2java.springboot.web;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.how2java.springboot.mapper.UserMapper;
import com.how2java.springboot.pojo.User;
@Controller
public class UserController {
@Autowired
UserMapper userMapper;
@RequestMapping("/addUser")
public String addUser(User user) {
userMapper.add(user);
return "redirect:listUsers";
}
@RequestMapping("/deleteUser")
public String deleteUser(User user) {
userMapper.delete(user);
return "redirect:listUsers";
}
@RequestMapping("/editUser")
public String editUser(User user, Model m) {
m.addAttribute("user", user);
return "editUser";
}
@RequestMapping("/updateUser")
public String updateUser(User user) {
userMapper.update(user);
return "redirect:listUsers";
}
@RequestMapping("/listUsers")
public String listUsers(Model m, @RequestParam(value = "start", defaultValue = "0") int start,
@RequestParam(value = "size", defaultValue = "5") int size) {
PageHelper.startPage(start, size, "id asc");
List<User> usList = userMapper.list();
PageInfo<User> pageInfo = new PageInfo<User>(usList);
m.addAttribute("page", pageInfo);
return "listUsers";
}
}
6、创建 listUsers.jsp 文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<div align="center">
</div>
<div style="width:500px;margin:20px auto;text-align: center">
<table align='center' border='1' cellspacing='0'>
<tr>
<td>id</td>
<td>name</td>
<td>age</td>
<td>sex</td>
<td>编辑</td>
<td>删除</td>
</tr>
<c:forEach items="${page.list}" var="c" varStatus="st">
<tr>
<td>${c.id}</td>
<td>${c.name}</td>
<td>${c.age}</td>
<td>${c.sex }</td>
<td><a href="editUser?id=${c.id}">编辑</a></td>
<td><a href="deleteUser?id=${c.id}">删除</a></td>
</tr>
</c:forEach>
</table>s
<br>
<div>
<a href="?start=1">[首 页]</a>
<a href="?start=${page.pageNum-1 < 1 ? 1 : page.pageNum-1}">[上一页]</a>
<a href="?start=${page.pageNum+1 < page.pages ? page.pageNum+1 : page.pages}">[下一页]</a>
<a href="?start=${page.pages}">[末 页]</a>
</div>
<br>
<form action="addUser" method="post">
name: <input name="name"> <br>
age:<input name="age"><br>
sex:<input name="sex"><br>
<button type="submit">提交</button>
</form>
</div>
7、创建 editUser.jsp 文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<div style="margin:0px auto; width:500px">
<form action="updateUser" method="post">
name: <input name="name"> <br>
age:<input name="age"><br>
sex:<input name="sex"><br>
<input name="id" type="hidden" value="${user.id}">
<button type="submit">提交</button>
</form>
</div>
运行 Application 类即可成功运行项目,功能与 SSM 练习的功能相同
这样 SpringBoot 基于 Mybatis 的 xml 配置方式的 CRUD 操作就完成了