SpringBoot【SpringMVC+mybatis完成CRUD案例】
【摘要】
文章目录
一、创建项目1.创建maven项目2.完成相关配置2.1 pom添加相关依赖2.2 全局配置文件2.3 表结构设计2.4 创建实体类
二、实现业务1.查询用户信息1.2 创建业...
一、创建项目
1.创建maven项目
创建maven项目
指定项目的相关maven坐标信息
配置项目相关的信息,比如项目名称及项目的存储位置
创建成功~
2.完成相关配置
2.1 pom添加相关依赖
在pom中添加相关的依赖:
<!-- 配置依赖的父类 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.14</version>
</dependency>
</dependencies>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
2.2 全局配置文件
在main/src/resources目录下创建application.properties文件
# jdbc的相关配置信息
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/ssm
spring.datasource.username=root
spring.datasource.password=123456
# 连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# mybatis给package设置别名
mybatis.type-aliases-package=com.dpb.pojo
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.3 表结构设计
&esmp; 创建如下的数据表
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL, PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 1
- 2
- 3
- 4
- 5
2.4 创建实体类
创建user的实体类
/**
* @program: springboot-ssm
* @description: 用户的实体类
* @author: 波波烤鸭
* @create: 2019-05-15 19:41
*/
public class Users {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
二、实现业务
1.查询用户信息
1.1 创建mapper接口和映射配置文件,简单案例就没有使用mybatis的逆向工程生成相关文件了
/**
* @program: springboot-ssm
* @description: 用户实体对应的mapper接口
* @author: 波波烤鸭
* @create: 2019-05-15 19:46
*/
public interface UsersMapper {
/**
* 查询所有的用户信息
* @return
*/
List<Users> query();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
映射文件,注意在resources下创建mapper文件,将映射文件放入此文件夹下
<?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.dpb.mapper.UsersMapper">
<select id="query" resultType="Users">
select * from t_user
</select>
</mapper>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
application.properties中添加对应的设置
1.2 创建业务层
/**
* @program: springboot-ssm
* @description: 业务层的实现类
* @author: 波波烤鸭
* @create: 2019-05-15 19:55
*/
@Service
@Transactional
public class UserServiceImpl implements UsersService {
@Resource
private UsersMapper usersMapper;
@Override
public List<Users> query() {
return usersMapper.query();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
1.3 创建控制层
/**
* @program: springboot-ssm
* @description: 用户的控制层
* @author: 波波烤鸭
* @create: 2019-05-15 19:57
*/
@Controller
@RequestMapping("/users")
public class UsersController {
@Resource
private UsersService usersService;
/**
* 页面跳转
*/
@RequestMapping("/{page}")
public String showPage(@PathVariable String page){
return page;
}
/**
* 查询用户信息
* @return
*/
@RequestMapping("/query")
public String queryUser(Model model){
model.addAttribute("list",usersService.query());
return "users";
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
1.4 创建展示页面
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>用户管理界面</title>
</head>
<body>
<h1>用户管理</h1>
<table border="1" style="width:300px;">
<tr>
<th>用户 ID</th>
<th>用户姓名</th>
<th>用户年龄</th>
</tr>
<tr th:each="user : ${list}">
<td th:text="${user.id}"></td>
<td th:text="${user.name}"></td>
<td th:text="${user.age}"></td>
</tr>
</table>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
1.5 启动测试
在com.dpb 下创建启动类
/**
* @program: springboot-ssm
* @description: 启动类
* @author: 波波烤鸭
* @create: 2019-05-15 19:39
*/
@SpringBootApplication
//@MapperScan 用户扫描MyBatis的Mapper接口
@MapperScan("com.dpb.mapper")
public class Start {
public static void main(String[] args) {
SpringApplication.run(Start.class,args);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
操作成功~
2.添加用户信息
2.1 mapper中增加添加用户的操作
void insertUser(Users users);
- 1
<insert id="insertUser" parameterType="Users">
insert into t_user(name,age)values(#{name},#{age})
</insert>
- 1
- 2
- 3
2.2 业务层
@Override
public void insertUser(Users users) {
usersMapper.insertUser(users);
}
- 1
- 2
- 3
- 4
2.3 控制层处理
/**
* 添加用户信息
* @return
*/
@RequestMapping("/save")
public String insertUser(Users users){
usersService.insertUser(users);
return "redirect:/users/query";
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2.4 页面处理
userAdd.html页面
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>用户管理界面</title>
</head>
<body>
<h1>添加用户</h1>
<form th:action="@{/users/save}" method="post">
用户姓名:<input type="text" name="name"/><br/>
用户年龄:<input type="text" name="age"/><br/>
<input type="submit" value="确定"/><br/>
</form>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
2.5 测试
3.修改用户信息
3.1 mapper层
Users queryById(Integer id);
void update(Users users);
- 1
- 2
- 3
<select id="queryById" resultType="Users">
select * from t_user where id = #{id}
</select>
<update id="update" parameterType="Users">
update t_user set name=#{name},age=#{age} where id = #{id}
</update>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
3.2 业务逻辑层
@Override
public Users queryUsersById(Integer id) {
return this.usersMapper.queryById(id);
}
@Override
public void updateUser(Users users) {
this.usersMapper.update(users);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
3.3 控制层
@RequestMapping("/updateInfo")
public String updateInfo(Model model,Integer id){
model.addAttribute("users",this.usersService.queryUsersById(id));
return "/usersUpdate";
}
@RequestMapping("/update")
public String updateUser(Users users){
this.usersService.updateUser(users);
return "redirect:/users/query";
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
3.4 展示层
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>用户管理界面</title>
</head>
<body>
<h1>添加用户</h1>
<form th:action="@{/users/update}" method="post">
<input type="hidden" name="id" th:value="${users.id}">
用户姓名:<input type="text" name="name" th:value="${users.name}"/><br/>
用户年龄:<input type="text" name="age" th:value="${users.age}"/><br/>
<input type="submit" value="确定"/><br/>
</form>
</body>
</html>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
3.5 测试
启动程序,访问演示
4.删除用户信息
后台代码
控制层
@RequestMapping("/delete")
public String delete(Integer id){
this.usersService.delete(id);
return "redirect:/users/query";
}
- 1
- 2
- 3
- 4
- 5
业务层
@Override
public void delete(Integer id) {
this.usersMapper.delete(id);
}
- 1
- 2
- 3
- 4
mapper
void delete(Integer id);
- 1
<delete id="delete">
delete from t_user where id=#{id}
</delete>
- 1
- 2
- 3
页面处理
测试搞定
~好了,到此SpringBoot+SpringMVC+Mybatis+Thymeleaf的CRUD案例完成!
文章来源: dpb-bobokaoya-sm.blog.csdn.net,作者:波波烤鸭,版权归原作者所有,如需转载,请联系作者。
原文链接:dpb-bobokaoya-sm.blog.csdn.net/article/details/90244244
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)