Mybatis-Plus

spring-boot集成mybatis-plus

北慕城南 提交于 2020-08-11 08:26:00
1) 引入相关jar包 <!-- 引入mybatis-plus包 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- 引入mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> 2) 编写配置文件 spring: datasource: # driver-class-name: url: jdbc:mysql://127.0.0.1:3306/DEMO_DB?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=GMT%2B8 username: root password: '123456' 3) 配置包扫描路径(必须,要不然启动报错) @SpringBootApplication @EnableWebMvc @ComponentScan("com

SpringBoot + Shiro + JWT 实现认证和授权

亡梦爱人 提交于 2020-08-11 07:04:34
1、JWT JWT是JSON WEB TOKEN的缩写,它是基于 RFC 7519标准定义的一种可以安全传输的的JSON对象,由于使用了数字签名,所以是可信任和安全的。 1.JWT的组成 JWT token的格式:header.payload.signature header中用于存放签名的生成算法 {"alg": "HS512"} payload中用于存放用户名、token的生成时间和过期时间 {"sub":"admin","created":1489079981393,"exp":1489684781} signature为以header和payload生成的签名,一旦header和payload被篡改,验证将失败 //secret为加密算法的密钥 String signature = HMACSHA512(base64UrlEncode(header) + "." +base64UrlEncode(payload),secret) 2.JWT实现认证和授权的原理 用户调用登录接口,登录成功后获取到JWT的token; 之后用户每次调用接口都在http的header中添加一个叫Authorization的头,值为JWT的token; 后台程序通过对Authorization头中信息的解码及数字签名校验来获取其中的用户信息,从而实现认证和授权。 2、SpringBoot +

SpringBoot2.0+Shiro+MyBatisPlus权限管理系统

断了今生、忘了曾经 提交于 2020-08-10 07:28:11
项目描述 Hi,大家好,今天分享的项目是《SpringBoot+Shiro权限管理系统》,这是一个SpringBoot+Layui后台管理系统,使用Shiro安全框架,加入访问权限,对不同角色有不同的访问权限,其他管理可以依据情况添加上去。相信无论作为企业级应用,私活开发脚手架或者权限系统构建学习,该项目都会是一个不错的选择。本系统模块如下: 用户管理 管理用户数据 用户分角色 角色管理 管理角色数据 使用ztree实现角色分配权限 权限管理 管理权限数据 实现了SwaggerAPI文档 日志监控系统 SQL监控 数据源管理 SQL防火墙 URL监控 Session监控 技术栈 SpringBoot2.0+Shiro+MyBatisPlush+LayUI+Swagger2.0 运行环境 IDEA+Tomcat8以上+MySQL5.5以上 项目截图 下载方式 先点在看,再取源码哦,关注 一点教程 公众号,回复关键词 xz202004 就可以获得下载链接和提取码。如部署过程有问题,后台回复 加我 添加小助手微信。 欢迎关注我的公众号::一点教程。获得独家整理的学习资源和日常干货推送。 如果您对我的系列教程感兴趣,也可以关注我的网站: yiidian.com 来源: oschina 链接: https://my.oschina.net/u/3038200/blog/4355059

springboot mybatis-plus动态添加数据源

雨燕双飞 提交于 2020-08-09 18:54:00
dynamic-datasource-spring-boot-starter简介 dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器,支持通过注解切换数据源,和mybatis-plus集成等,可查看代码中samples这个子项目。 配置 pom中增加依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.1.1</version> </dependency> application配置文件中配置主库 spring.datasource.dynamic.datasource.master.url=jdbc:mysql://xx.xx.xx.xx:3307/dynamic spring.datasource.dynamic.datasource.master.username=root spring.datasource.dynamic.datasource.master.password=root spring.datasource.dynamic.datasource.master.driver-class

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 解决方法

假如想象 提交于 2020-08-09 18:18:59
造成的原因:    1.xml中的名字与mapper中的名字未对应,导致报错。       解决方法: 修改名字相对应即可。     2.Maven加载时只会对.java文件进行编译,不会对其他类型的文件进行编译       解决方法:① 将xml文件夹复制到到target中的Mapper下              (不推荐)              ②将xml移动到resources中去              (不推荐)              ③配置pom.xml和application.properties               (1)pom.xml中加入下面代码 <build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>                  (2)application.properties中加入下面代码 mybatis-plus.mapper-locations=classpath:com/llc/eduservice/mapper/xml /

简单了解一下 Swagger

坚强是说给别人听的谎言 提交于 2020-08-09 12:17:48
一、Swagger 1、什么是 Swagger ?   Swagger 是一个规范和完整的框架,用于生成、描述、调用以及可视化的 Restful 风格的 Web 服务。   简单的理解:是一款 REST API 文档生成工具,生成在线的接口文档,方便接口测试。 2、为什么使用 Swagger?   前后端分离开发时,为了方便前后端接口调用规范,需要提供一个接口文档,但是维护这个接口文档是一个及其繁琐的事情,可能一不小心就忘记更新该文档从而导致前后端接口调用失败。   Swagger 就是为了解决这个问题而出现的(在线接口文档),其在接口方法上定义注解,并根据注解形成一个 html 页面,每次接口修改,这个 html 页面就会发生相应的改变,从而保证了接口文档的正确性。通过该 html 页面,可以很方便、清楚的知道这个接口的功能,并测试。 3、SpringBoot 整合 Swagger? (1)Step1:   导入依赖 jar 包。 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 --> < dependency > < groupId > io.springfox </ groupId > < artifactId > springfox-swagger2 </ artifactId

BUG记录

心不动则不痛 提交于 2020-08-09 08:51:12
mybatis plus+springboot 批量更新操作,字段orderBy,更新失败,id, 其他字段都可以 来源: oschina 链接: https://my.oschina.net/u/3643058/blog/4298465

谷粒商城的快速开发(四)

左心房为你撑大大i 提交于 2020-08-08 06:57:13
18、快速开发-配置&测试微服务基本CRUD功能 19、快速开发-逆向生成所有微服务基本CRUD代码 根据之前的博客,把代码抽取,然后把各个模块都建立一下,看了一下代码,感觉配置都很简单,后面再改,先按照教程的来。 下面就那这个模块做个实列: spring: datasource: username: root password: root url: jdbc:mysql://192.168.1.117:3306/gulimall_pms driver-class-name: com.mysql.jdbc.Driver ##mybatisplus配置 mybatis-plus: #扫描xml文件 mapper-locations: classpath:/mapper/**/*.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.dalianpai.gulimall.product.entity global-config: id-type: 0 #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: 2 #驼峰下划线转换 db-column-underline: true #刷新mapper 调试神器 refresh-mapper: true #数据库大写下划线转换

小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查

天大地大妈咪最大 提交于 2020-08-08 05:07:41
Mybatis Plus官方文档已经很完善了,为什么还要写一个这样的文档? 官方文档注重知识结构的整理,没有注重学习者的学习顺序 官方文档中的案例注重API描述,比较适合学会mybatis plus之后,遇到问题再去翻阅。对于第一次使用Mybatis的初学者进行学习不是非常友好。 官方文档考虑的是全面完整的介绍Mybatis Plus, 我考虑的角度是:“最佳实践”。 世界上很多东西都符合2/8原则,本文档的目的是将: 最重要最常用的那20%帮你提炼出来、快速上手应用! 。另外的那80%都是不常用的,有空自己再去官方文档里面学吧! 官网文档地址: https://mybatis.plus/guide/ 我会将此文档写成一个系列的内容,记得关注我!zimug.com 我会将此文档写成一个系列的内容,记得关注我!zimug.com 我会将此文档写成一个系列的内容,记得关注我!zimug.com 一、Spring Boot整合Mybatis Plus 通过maven坐标引入依赖 <!-- mybatis --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.2</version> </dependency> <!--

MybatisPlus-自动填充字段(时间字段/普通字段)

人走茶凉 提交于 2020-08-07 08:26:36
实体类 @Data // lombok依赖 public class User{ @TableField( fill = FieldFill.INSERT) private Integer isDelete; @TableField(fill = FieldFill.INSERT_UPDATE) private Date createTime; } 实现元对象处理器接口: com.baomidou.mybatisplus.core.handlers.MetaObjectHandler @Slf4j @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { log.info("start insert fill ...."); this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用) this.fillStrategy(metaObject, "isDelete", 1); // 也可以使用(3.3.0