然后接下来我们整合 mybatis,因为mybatis的starter不是spring官方提供的,那么我们就来mybatis官网来看一下如何编写starter:
代码如下:
<!-- mybatis 相关依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency>
顺便导入 MySQL 驱动包:
<!-- MySQL 驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
然后在 application.yml 中配置数据源:
spring: datasource: # 数据源配置 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/demo_user?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: root
然后配置mybatis:
mybatis: mapper-locations: classpath:mybatis/mappers/UserMapper.xml type-aliases-package: com.xiaohh.user.entities
接下来我们编写三层,因为代码量的原因我就直接将代码放在我的个人gitee上了,可自行下载,也可以按照地址克隆,要特别注意要在 Mapper 上加一个注解来代表这是一个 Mapper,其余的和普通的 SSM 没区别
我们现在来看一下Controller层的方法抬头
package com.xiaohh.user.controllers; import com.xiaohh.user.entities.User; import com.xiaohh.user.services.UserService; import com.xiaohh.user.utils.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * <p> * user 对象的前端控制类 * </p> */ @RestController @RequestMapping("/v1/user") public class UserController { /** * 向数据库中添加一个数据的 Controller 接口 * @param user 用户对象 * @return 返回信息中包含是否成功 */ @PostMapping public R add(@RequestBody User user); /** * 用户对象列表查询 * @return 用户对象的列表 */ @GetMapping public R list(); /** * 根据 id 获取用户对象 * @param id 用户 id * @return 用户对象 */ @GetMapping("/{id}") public R get(@PathVariable("id") long id); /** * 根据用户 id 更新一个用户对象 * @param user 用户对象 * @return 是否成功 */ @PutMapping public R update(@RequestBody User user); /** * 根据用户 id 删除用户对象 * @param id 用户 id * @return 是否成功 */ @DeleteMapping("/{id}") public R delete(@PathVariable("id") long id); }
那么我们运行起来之后来测试这个端口,使用postman:
注意,所有 RequestBody 的添加路径在:
- 测试添加接口
url: http://127.0.0.1/user/v1/user RequestBody: {"username": "XiaoHH", "password": "XiaoHHSuperme", "birthday": "2021-02-22"}
- 测试结果:
数据库:
- 测试用户对象列表查询
url: http://127.0.0.1/user/v1/user
- 数据库:
测试结果:
- 测试根据 id 获取用户对象
url: http://127.0.0.1/user/v1/user/1
- 数据库同上,测试结果:
其余的请自己测试,本文不演示了
精彩预告(更新预告)
- 使用maven快速搭建SpringBoot的SSM项目
- 根据环境选择不同的配置,如开发环境一套配置,测试环境一套生产环境又一套
- 整合 RestControllerAdvice 做异常统一处理,坚决不把异常抛出给前端
- 整合 Spring Validated 做数据校验
- 整合 redis 做数据缓存
- 整合 Spring Cloud 做微服务注册调用