MySql数据驱动的注意事项:
【springboot创建mymes】下载的是5.7的mysql则mysql-connector-java版本下载5.1.X的,配置使用com.mysql.jdbc.Driver
下载的是8.X的mysql则mysql-connector-java版本下载8.0,配置使用 com.mysql.cj.jdbc.Driver
修改SpringBoot配置文件
创建application.yml中添加数据源配置和MyBatis的mapper.xml的路径配置
server: port: 9999spring: datasource: url: jdbc:mysql://localhost:3306/mymes?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: rootmybatis: mapper-locations: - classpath:mapper/*.xml - classpath*:com/**/mapper/*.xml创建common文件夹存放通用类,例如通用返回类
文章插图
import cn.hutool.core.convert.Convert;import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import java.util.List;/** * 分页数据封装类 * */public class CommonPage<T> { private Integer pageNum; private Integer pageSize; private Integer totalPage; private Long total; private List<T> list; /** * 将MyBatis Plus 分页结果转化为通用结果 */ public static <T> CommonPage<T> restPage(Page<T> pageResult) { CommonPage<T> result = new CommonPage<>(); result.setPageNum(Convert.toInt(pageResult.getCurrent())); result.setPageSize(Convert.toInt(pageResult.getSize())); result.setTotal(pageResult.getTotal()); result.setTotalPage(Convert.toInt(pageResult.getTotal()/pageResult.getSize()+1)); result.setList(pageResult.getRecords()); return result; } public Integer getPageNum() { return pageNum; } public void setPageNum(Integer pageNum) { this.pageNum = pageNum; } public Integer getPageSize() { return pageSize; } public void setPageSize(Integer pageSize) { this.pageSize = pageSize; } public Integer getTotalPage() { return totalPage; } public void setTotalPage(Integer totalPage) { this.totalPage = totalPage; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } public Long getTotal() { return total; } public void setTotal(Long total) { this.total = total; }}/** * 通用返回对象 * */public class CommonResult<T> { private long code; private String message; private T data; protected CommonResult() { } protected CommonResult(long code, String message, T data) { this.code = code; this.message = message; this.data = data; } /** * 成功返回结果 * * @param data 获取的数据 */ public static <T> CommonResult<T> success(T data) { return new CommonResult<T>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data); } /** * 成功返回结果 * * @param data 获取的数据 * @param message 提示信息 */ public static <T> CommonResult<T> success(T data, String message) { return new CommonResult<T>(ResultCode.SUCCESS.getCode(), message, data); } /** * 失败返回结果 * @param errorCode 错误码 */ public static <T> CommonResult<T> failed(IErrorCode errorCode) { return new CommonResult<T>(errorCode.getCode(), errorCode.getMessage(), null); } /** * 失败返回结果 * @param errorCode 错误码 * @param message 错误信息 */ public static <T> CommonResult<T> failed(IErrorCode errorCode,String message) { return new CommonResult<T>(errorCode.getCode(), message, null); } /** * 失败返回结果 * @param message 提示信息 */ public static <T> CommonResult<T> failed(String message) { return new CommonResult<T>(ResultCode.FAILED.getCode(), message, null); } /** * 失败返回结果 */ public static <T> CommonResult<T> failed() { return failed(ResultCode.FAILED); } /** * 参数验证失败返回结果 */ public static <T> CommonResult<T> validateFailed() { return failed(ResultCode.VALIDATE_FAILED); } /** * 参数验证失败返回结果 * @param message 提示信息 */ public static <T> CommonResult<T> validateFailed(String message) { return new CommonResult<T>(ResultCode.VALIDATE_FAILED.getCode(), message, null); } /** * 未登录返回结果 */ public static <T> CommonResult<T> unauthorized(T data) { return new CommonResult<T>(ResultCode.UNAUTHORIZED.getCode(), ResultCode.UNAUTHORIZED.getMessage(), data); } /** * 未授权返回结果 */ public static <T> CommonResult<T> forbidden(T data) { return new CommonResult<T>(ResultCode.FORBIDDEN.getCode(), ResultCode.FORBIDDEN.getMessage(), data); } public long getCode() { return code; } public void setCode(long code) { this.code = code; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public T getData() { return data; } public void setData(T data) { this.data = data; }}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- automation服务器不能创建对象是什么意思360?automation服务器不能创建对象是什么意思搜狗浏览器
- redis哨兵docker部署及springboot运行
- 用webpack创建vue项目/脚手架
- SpringBoot实现QQ邮箱注册和登录
- Docker 如何运行多个 Springboot?
- 面试官:知道 springboot 的启动原理吗?
- Docker容器的三种创建运行方式,一个比一个好用
- Mysql创建用户和权限管理
- SpringBoot初始化几大招式,看了终于明白了
- SpringBoot如何用Session共享实现分布式部署?
