Mybatis-Plus

Mybatis-Plus3.3.0 MetaObjectHandler 在springMVC中公共字段全局填充

一世执手 提交于 2020-01-10 10:57:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Mybatis-Plus version 3.3.0 官方文档关于自动填充没有springMVC下的例子. Mybatis-Plus SpringMVC 演示 demo 中的代码版本有点落后 标记填充字段 public class User { // 注意!这里需要标记为填充字段 @TableField(.. fill = FieldFill.INSERT) private String fillField; } 实现接口 // 这里不需要@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, "createTime", LocalDateTime

权限系统框架搭建(Spring Boot + Spring Security + MyBatis-Plus + Beetl) 未完待续~

萝らか妹 提交于 2020-01-07 15:18:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、数据库表设计 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for sys_permission -- ---------------------------- DROP TABLE IF EXISTS `sys_permission`; CREATE TABLE `sys_permission` ( `id` varchar(255) NOT NULL DEFAULT '', `description` varchar(255) NOT NULL DEFAULT '' COMMENT '权限描述', `name` varchar(255) NOT NULL DEFAULT '' COMMENT '权限名称', `pid` varchar(255) NOT NULL DEFAULT '' COMMENT '父节点', `url` varchar(255) NOT NULL DEFAULT '' COMMENT '授权链接', `create_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT

个人网站第五版(2020年版)来了

非 Y 不嫁゛ 提交于 2020-01-06 14:25:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ​ 大家好,转眼间2020年了,首先祝大家2020年元旦快乐。我是冯文议,是一名JAVA工程师,我的个人网站第五个版本(2020年版)也如期而至。本次改版与以往只有个人主页的版本不一样,这一次旨在打造一个记录自己的平台。包含个人主页、博客系统、作品、相册系统、留言系统、用户系统、后台管理系统等。 技术 基于Spring Boot进行开发 前端使用Themyleaf模板,Layui,jQuery,Markdown富文本编辑器 数据库MySQL 数据库操作框架MyBatis-Plus 权限认证Spring Security,JWT 后台接口返回封装处理框架api-result 工具类框架JavaLib 后台管理系统vue-admin-pro Java 8 日期和时间 文件上传,图片信息解析 移除 移除了夜间模式 首页图片不再每天更换 网址 https://fengwenyi.com https://www.fengwenyi.com 来源: oschina 链接: https://my.oschina.net/fengwenyi/blog/3152222

mybatis-plus思维导图,让mybatis-plus不再难懂

一曲冷凌霜 提交于 2019-12-28 18:24:44
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> >mybatis-plus与mybatis mybatis Mybatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 但mybatis有个让我比较头疼的一个问题是sql工作量很大,尤其是字段多的时候。虽然说单表的增删改查操作可以通过mybatis generator工具来生成(或者自己写模板工具生成),但项目开发的过程中总免不了要新添加新字段,这些工具就帮不了我了,我得把新字段写到原来的所有增删改查的sql中。这是个痛苦的过程,特别是当你重复了很多次之后。 mybatis的单表操作也是贼麻烦的事,因为筛选的条件可能会各种各样,所以你不得不写很多动态sql来兼容查询条件,这也让我不能集中精力去处理业务。 每当这时候,我怀念Hibernate了。嘿嘿,Hibernate加字段就贼简单,单表操作也是贼方便。但我依然不喜欢用Hibernate,哈哈。 mybatis-plus 而mybatis-plus这样一个框架

Spring boot 整合 MyBatis 框架相关问题

故事扮演 提交于 2019-12-25 15:12:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、整合准备 首先是构建自己的 Spring boot 项目,不做赘述,然后加上 MyBatis 的依赖,我用的是 maven 管理项目,所以依赖添加是这样的: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.0</version> </dependency> 接着是配置自己的数据源之类的,整合准备就基本完成了。(此段简略是因为即使不使用 MyBatis 都是必做的工作) 2、配置映射 我们会给每个 MyBatis 的xml配置文件都写一个对应的映射接口,希望让 MyBatis 框架认识到:“这个接口是一个映射接口”的方法有两个: 该接口上使用注解 @Mapper 即可,这样的缺点是每个接口都需要加上注解会比较麻烦,方法二会更加省事。 接口上不用注解,而是在配置文件(或者直接在 xxAplication 启动类)上加上注解 @MapperScan 注明 mapper 接口的路径即可,示例如下:@MapperScan("com.kfit.*.mapper") 或 @MapperScan({"com.kfit.demo",

如何debug编译时的代码

情到浓时终转凉″ 提交于 2019-12-23 23:16:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 近期打算写一个编译时的小插件,解决 mybatis-plus 和 tk-mapper 紧耦合的问题。小插件需要在 java 编译时生成一些代码。这个思想,在andoid 的 黄油刀butterknife,Lomok 已经成熟。现在代码写了一些,需要debug编译时的代码,头就大了。查了一些资料,并进行试验,终于找到了debug的方法。下面详细记录下怎么debug这些代码。 (1)java 提供了 javax.annotation.processing.AbstractProcessor 在编译时处理 注解 。即是插件的处理类。我们需要debug这些类及其相关联的类。所以debug的断点在这里。然后,需要在idea进行一些设置。先配置一个远端的debug配置。 这里的module 选择你要debug的模块。 (2)在命令中进入引用该模块的应用根目录,使用命令listen需要调试的模块连接。 mvnDebug clean compile 它会 打印提示,并在命令行中等待连接 Listening for transport dt_socket at address: 8000 (3)最后启动之前配置模块。 这样就可以进行调试了 来源: oschina 链接: https://my.oschina.net

mybatis-plus自带方法调用出现 Invalid bound statement (not found):

北城余情 提交于 2019-12-19 00:17:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 奇怪的现象,自己写的sql能执行,但是调用mybatis-plus中自带的方法却报错 Invalid bound statement (not found): 这个问题困扰了我很久, 后来发现 在继承 BaseMapper的时候注意会又两个类让你选择, 一定要选择core这个类,,不要选择 com.baomidou.mybatisplus.mapper.BaseMapper; 选择了这个怎么调用都会报错。。。。 如果不是这个原因 那么就是实体类中的主键,或者tablename等属性需要标注了。。 来源: oschina 链接: https://my.oschina.net/960823/blog/3144676

springboot+mybatsi-plus+lombok+swagger-bootstra整合

南笙酒味 提交于 2019-12-18 17:53:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 版本要求:jdk1.8以上 框架版本介绍:springboot 2.x mybatis-plus 3.x Maven 3.x以上 辅助工具介绍:lombok 简化代码 Swagger-bootstrap-ui 生成接口文档 Yml文件 注意:1、springboot1.x与2.x版本改动较大,具体请阅看官方文档。 官方地址: https://spring.io/projects/spring-boot/ 2、mybatis-plus 3.x与2.x 版本改动较大,具体请查阅官方文档。 官网地址: https://mp.baomidou.com/ 解释说明: springboot优点在于简化配置,全家桶自动集成优秀框架,基于注解开发。 综上所有优点,我们选择了lombok,与mybatis-plus ,还有swagger-ui。这三个都是基于注解使用。我认为选择其他的感觉优点鸡肋。 pom.xml文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.0.RELEASE</version> <relativePath/> <!--

“国货之光” 完美日记的微服务实践和优化思路

Deadly 提交于 2019-12-16 10:40:52
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如果你是一位程序媛,你一定知道完美日记。 如果你是一位程序员,你的那个她一定知道完美日记。 今年双11,完美日记仅用28分钟就超过了2018年双11全天的销售额,成为第一个登上天猫双11彩妆榜首的国货品牌。在这个遍地都是漂亮小姐姐、号称男人(特指程序员)天堂的公司里,拥有着一支什么样的基础架构技术团队,他们是如何在 4 个月内筹建、上线电商平台的呢?本文将为您分享他们在实践微服务过程遇到的难点和优化思路。 完美日记基础架构技术团队欢迎您的加入,移步文末,了解详情。 起步 自建商城在设计之初,业务部门就提出了两个要求:不崩 & 快速上线。 在立项之后,团队还没有完全配备好,一边从其他团队里调取人手,一边大力招聘,与此同时,我们的架构师也在搭建一套分布式商城开发框架,编写 Demo,让新加入的同学能快速上手。 暴露问题 问题一:分布式事务 为什么会使用分布式事务? 这个暂且可以归因于快速上线,因为生成订单会调用到商品服务扣减库存,使用了分布式事务解决了因为跨服务调用引起库存超卖的问题,带来的问题就是性能上的消耗。 问题二:数据库压力 在大促活动期间,有个实时统计是直接从业务库上直接查询统计的,运营部门的小姐姐在不断地刷新,导致该接口上的压力山大,而且没有使用缓存,连 SQL 查询条件的时间都是动态的,导致 DB

使用 MyBatis-Plus 代码生成器

风流意气都作罢 提交于 2019-12-09 22:28:45
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生 MyBatis-Plus 的目的是增强 MyBatis 的功能和操作,内置代码生成器可以为我们减少不少的工作量了,这里主要介绍 MyBatis-Plus 代码生成器的使用 代码生成器也是称作 MyBatis 的逆向工程,主要是用来生成 model、mapper 等层的代码,mybatis 官方也有一个 mybatis-generator 的逆向工程,功能非常强大,但生成的代码比较臃肿,生成的 Example 类用于构造复杂的筛选条件,使用起来不友好。相比起来 mybatis-plus 生成的代码简洁优雅,配合 CRUD 接口和条件构造器,使用起来也方便 代码生成器 添加依赖 代码生成器的依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>最新版本</version> </dependency> MyBatis-Plus 3.0.3 之后移除了自动模板引擎依赖,需要手动添加对应引擎的依赖坐标 <!-- velocity 模板引擎, 默认 --> <dependency>