文章目录
一、创建项目
1.创建maven项目
2.完成相关配置
2.1 pom添加相关依赖
2.2 全局配置文件
2.3 表结构设计
2.4 创建实体类
二、实现业务
1.查询用户信息
1.2 创建业务层
1.3 创建控制层
1.4 创建展示页面
1.5 启动测试
2.添加用户信息
2.1 mapper中增加添加用户的操作
2.2 业务层
2.3 控制层处理
2.4 页面处理
2.5 测试
3.修改用户信息
3.1 mapper层
3.2 业务逻辑层
3.3 控制层
3.4 展示层
3.5 测试
4.删除用户信息
本文介绍SpringBoot整合SpringMVC和mybatis在IDEA中通过maven项目来对user表数据完成CRUD操作,前端使用Thymeleaf来实现。
一、创建项目
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>
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
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;
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.查询用户信息
1.1 创建mapper接口和映射配置文件,简单案例就没有使用mybatis的逆向工程生成相关文件了
/** * @program: springboot-ssm * @description: 用户实体对应的mapper接口 * @author: 波波烤鸭 * @create: 2019-05-15 19:46 */ public interface UsersMapper { /** * 查询所有的用户信息 * @return */ List<Users> query(); }
映射文件,注意在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>
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.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.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.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); } }
操作成功~
2.添加用户信息
2.1 mapper中增加添加用户的操作
void insertUser(Users users);
<insert id="insertUser" parameterType="Users"> insert into t_user(name,age)values(#{name},#{age}) </insert>
2.2 业务层
@Override public void insertUser(Users users) { usersMapper.insertUser(users); }
2.3 控制层处理
/** * 添加用户信息 * @return */ @RequestMapping("/save") public String insertUser(Users users){ usersService.insertUser(users); return "redirect:/users/query"; }
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>
2.5 测试
3.修改用户信息
3.1 mapper层
Users queryById(Integer id); void update(Users users);
<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>
3.2 业务逻辑层
@Override public Users queryUsersById(Integer id) { return this.usersMapper.queryById(id); } @Override public void updateUser(Users users) { this.usersMapper.update(users); }
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"; }
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>
3.5 测试
启动程序,访问演示
4.删除用户信息
后台代码
控制层
@RequestMapping("/delete") public String delete(Integer id){ this.usersService.delete(id); return "redirect:/users/query"; }
业务层
@Override public void delete(Integer id) { this.usersMapper.delete(id); }
mapper
void delete(Integer id);
void delete(Integer id);
页面处理
测试搞定
~好了,到此SpringBoot+SpringMVC+Mybatis+Thymeleaf的CRUD案例完成!