0


Springboot整合mybatis-plus

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言


  1. 提示:以下是本篇文章正文内容,下面案例可供参考

一、项目搭建

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 添加如下依赖
  1. <!-- 引入mybatisPlus 包含了 jdbc --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency><!-- mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!-- 引入durid數據源--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.18</version></dependency>

二、 配置文件

1.配置启动类映射mapper

在这里插入图片描述

代码如下(示例):

  1. @SpringBootApplication
  2. @MapperScan("com.example.demoboot.*.mapper")
  3. public class DemobootApplication {
  4. public staticvoidmain(String[] args){
  5. SpringApplication.run(DemobootApplication.class, args);}}

2.配置mybtis-publs分页

在这里插入图片描述

代码如下(示例):

  1. @Configuration
  2. public class MyBaitsPlusConfig {//配置分页插件
  3. @Bean
  4. public MybatisPlusInterceptor mybatisPlusInterceptor(){
  5. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//数据库类型是MySql,因此参数填写DbType.MYSQL
  6. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}}

3.配置Result返回类

  1. packagecom.example.demoboot.config;importjava.io.Serializable;publicclassResult<T>implementsSerializable{privatestaticfinallong serialVersionUID =1L;privateboolean success =true;// 成功标志privateboolean crypto =false;// 是否响应结果解密/ SM4/CBCprivateString message ="";// 返回处理消息privateInteger code =0;// 返回代码privateT result;// 返回数据对象privatelong timestamp =System.currentTimeMillis();// 时间戳// 默认构造函数publicResult(){}// 带参数的构造函数publicResult(Integer code,String message){this.code = code;this.message = message;}// 设置成功结果publicResult<T>success(String message){this.message = message;this.code =200;this.success =true;returnthis;}// 创建成功结果publicstatic<T>Result<T>OK(){returnnewResult<>(200,"操作成功");}// 创建成功结果,带数据publicstatic<T>Result<T>OK(T data){Result<T> result =OK();
  2. result.setResult(data);return result;}// 创建成功结果,带消息和数据publicstatic<T>Result<T>OK(String msg,T data){Result<T> result =OK();
  3. result.setMessage(msg);
  4. result.setResult(data);return result;}// 创建错误结果,带消息和数据publicstatic<T>Result<T>error(String msg,T data){returnerror(500, msg, data);}privatestatic<T>Result<T>error(int i,String msg,T data){Result<T> result =error(i, msg);
  5. result.setResult(data);return result;}// 创建错误结果,带消息publicstatic<T>Result<T>error(String msg){returnerror(500, msg);}// 创建错误结果,带状态码和消息publicstatic<T>Result<T>error(int code,String msg){Result<T> result =newResult<>();
  6. result.setCode(code);
  7. result.setMessage(msg);
  8. result.setSuccess(false);return result;}// 设置 500 错误publicResult<T>error500(String message){returnerror(500, message);}// 设置未授权结果publicstatic<T>Result<T>noAuth(String msg){returnerror(510, msg);}// Getter 和 Setter 方法publicbooleanisSuccess(){return success;}publicbooleanisCrypto(){return crypto;}publicStringgetMessage(){return message;}publicIntegergetCode(){return code;}publicTgetResult(){return result;}publiclonggetTimestamp(){return timestamp;}publicvoidsetSuccess(boolean success){this.success = success;}publicvoidsetCrypto(boolean crypto){this.crypto = crypto;}publicvoidsetMessage(String message){this.message = message;}publicvoidsetCode(Integer code){this.code = code;}publicvoidsetResult(T result){this.result = result;}publicvoidsetTimestamp(long timestamp){this.timestamp = timestamp;}// equals 和 hashCode 方法@Overridepublicbooleanequals(Object o){if(this== o)returntrue;if(!(o instanceofResult))returnfalse;Result<?> other =(Result<?>) o;return success == other.success && crypto == other.crypto && timestamp == other.timestamp &&
  9. code.equals(other.code)&& message.equals(other.message)&& result.equals(other.result);}@OverridepublicinthashCode(){return31*(success ?1:0)+(crypto ?1:0)+
  10. code.hashCode()+
  11. message.hashCode()+
  12. result.hashCode()+Long.hashCode(timestamp);}@OverridepublicStringtoString(){return"Result{"+"success="+ success +", crypto="+ crypto +", message='"+ message +'\''+", code="+ code +", result="+ result +", timestamp="+ timestamp +'}';}}

4.新建 WebConstant 添加接口访问

  1. packagecom.example.demoboot.config;publicclassWebConstant{publicstaticfinalString API_PATH ="/api";// 基础 API 路径}

5.配置yml

  1. spring:
  2. thymeleaf:
  3. cache:true # 开启模板缓存(默认值:true)
  4. check-template:true # 检查模板是否存在并解析
  5. check-template-location:true # 检查模板位置是否正确(默认值:true)
  6. content-type: text/html # Content-Type 的值(默认值:text/html)
  7. enabled:true # 开启 MVC Thymeleaf 视图解析(默认值:true)
  8. encoding: UTF-8 # 模板编码
  9. excluded-view-names:"" # 被排除在解析之外的视图名称列表
  10. mode: HTML5 # 模板模式(默认值:HTML5)
  11. prefix: classpath:/templates/ # 视图名称前缀(默认值:classpath:/templates/)
  12. suffix:.html # 视图名称后缀(默认值:.html)
  13. datasource:
  14. type:com.alibaba.druid.pool.DruidDataSource # 数据源类型
  15. username: root # 数据库用户名
  16. password:111111 # 数据库密码
  17. driver-class-name:com.mysql.cj.jdbc.Driver # 驱动类名
  18. url: jdbc:mysql://localhost:3306/ceshi # 数据库连接URL,
  19. mybatis-plus:
  20. configuration:
  21. log-impl:org.apache.ibatis.logging.stdout.StdOutImpl # 日志实现
  22. map-underscore-to-camel-case:true # 开启驼峰命名
  23. server:
  24. port:8033 # 设置服务器启动端口为8033

三、 实现mybtis-publs增删改查

在这里插入图片描述

四、 层级关联说明

  • moduleController
  1. @RestController@RequestMapping(value =WebConstant.API_PATH +"/modou")publicclass moduleController {}
  • moduleService
  1. publicinterface moduleService extendsIService<module>{}
  • moduleServiceImpl
  1. @Servicepublicclass moduleServiceImpl extendsServiceImpl<moduleMapper,module>implements moduleService {}
  • moduleMapper
  1. @Mapperpublicinterface moduleMapper extendsBaseMapper<module>{}

五、 利用mybtis-publs 生成插件

在这里插入图片描述

  • 连接数据库在这里插入图片描述
  • 代码生成在这里插入图片描述
  • 自行配置

在这里插入图片描述

  • 生成之后自行修改不足之处即可

在这里插入图片描述


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。


本文转载自: https://blog.csdn.net/weixin_44538590/article/details/143364600
版权归原作者 小扎仙森 所有, 如有侵权,请联系我们删除。

“Springboot整合mybatis-plus”的评论:

还没有评论