Lombok

Java 实体-实体的映射框架

坚强是说给别人听的谎言 提交于 2020-05-08 05:55:27
<div id="content_views" class="markdown_views"> <!-- flowchart 箭头图标 勿删 --> <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <h3 id="一object-mapping-的技术分类"><a name="t0"></a>一、Object mapping 的技术分类:</h3> <ul> <li><p>运行期 反射调用set/get 或者是直接对成员变量赋值 。 该方式通过invoke执行赋值 *,实现时一般会采用beanutil, Javassist等开源库。这类的代表:Dozer,ModelMaper</p></li> <li><p>编译期 动态生成set/get代码的class文件 ,在运行时直接调用该class文件。* 该方式实际上扔会存在set/get代码,只是不需要自己写了。 这类的代表:MapStruct,Selma,Orika ##

IDEA正确实用姿势|几个让你爽到爆的IDEA必备插件推荐!

依然范特西╮ 提交于 2020-05-07 13:21:31
上一篇关于IDEA插件推荐的文章: 《第一弹!安排!安利10个让你爽到爆的IDEA必备插件!》 收到了很多小伙伴的好评,时隔大半个月左右,第二弹IDEA插件总算来啦! 下面推荐的插件几乎都是我觉得实用IDEA必备的,不过可以根据自己的需要适当进行选择。另外 IDEA 自带的很多插件如果没有用到的话都可以关掉,这样可以提高IDEA的运行速度。 文章目录 Grep Console:控制台输出处理 Rainbow Brackets:彩虹🌈括号 Save Actions:优化保存操作 SequenceDiagram:一键生成时序图 Maven Helper:分析Maven项目的相关依赖 EasyCode:一键帮你生成所需代码 CheckStyle:代码格式检查 SonarLint:帮你优化代码 Lombok:帮你简化代码 CodeGlance:代码微型地图 Java Stream Debugger:Java8 Stream调试器 Git Commit Template:使用模板创建commit信息 其他常用插件推荐 Grep Console:控制台输出处理 可以说是必备的一个IDEA插件,非常实用! 这个插件主要的功能有两个: 1. 自定义设置控制台输出颜色 我们可以在设置中进行相关的配置: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G6HcJ2mP

【mybatis xml】数据层框架应用--Mybatis(三)关系映射之一对一关系映射

扶醉桌前 提交于 2020-05-04 13:44:31
实际的开发中,对数据库的操作常常会涉及到多张表,这在面向对象中就涉及到了对象与对象之间的关联关系。 针对多表之间的操作,MyBatis提供了关联映射,通过关联映射就可以很好的处理对象与对象之间的关联关系。 目录 你需要了解的知识点 1、关联关系种类 数据库: java 2、关联查询方式 使用 1、创建实体类 2、创建SQL映射的XML文件 3、注册SQL映射的XML文件 4、创建表格 5、测试一对一关联映射 你可能会出现的问题 问题一:提示缺少构造函数 写在最后 你需要了解的知识点 1、关联关系种类 数据库: 在关系型数据库中,多表之间存在着三种关联关系,分别为 一对一 、 一对多 和 多对多 一对一:在任意一方引入对方主键作为外键; 一对多:在“多”的一方,添加“一”的一方的主键作为外键; 多对多:产生中间关系表,引入两张表的主键作为外键,两个主键成为联合主键或使用新的字段作为主键。 java 一对一:在本类中定义对方类型的对象,如A类中定义B类类型的属性b,B类中定义A类类型的属性a;(双向一对一) 一对多:一个A类类型对应多个B类类型的情况,需要在A类中以集合的方式引入B类类型的对象,在B类中定义A类类型的属性a; 多对多:在A类中定义B类类型的集合,在B类中定义A类类型的集合。 2、关联查询方式 MyBatis加载关联关系对象主要通过两种方式: 嵌套查询 和 嵌套结果 。

最新Idea超实用告别996插件,都是免费

青春壹個敷衍的年華 提交于 2020-05-04 08:21:34
Idea告别996插件 在IntelliJ IDEA中,秉着IDEA自带能实现的快捷方式就不用插件的原则,少用些插件,运行性能也提升一些,虽然很少,哈哈。分享下我个人常用的插件,希望对大家有些帮助。插件不胜在多,其实不少插件功能是重复的,通过以下插件我很少切换其他页面,都是IDEA里完成,并大大提升编码效率。 1.UID生成器 对于序列化对象,我们常要生成UID,不少童鞋是使用GenerateSerialVerionUID这个插件,其实IDEA其实就自带有实现的了。 在Preferences->Inspections->Serialization issues->Serialization class without 'serialVersionUID'勾选上,或者在Inspections里直接搜UID就能看到。 image-20200501133533163 然后我们新建一个javabean,例如User类并实现Serializable,光标移动到类名称上或者F2,然后按下alt+enter键就会自动生成UID了。 image-20200501133814496 2.Grep console 一款和IDEA Console相关的插件,可以通过expression表达式过滤日志,给不同级别的日志或者给不同的pattern日志加上背景颜色和上层颜色,其实嘛,也就是为了眼睛看得舒服点

使用Springboot整合redis与mysql

走远了吗. 提交于 2020-05-03 17:55:26
使用layui实现前台页面,实现用户的增删改查 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 主要技术:SpringBoot、redis,mysql,swagger框架与layui前段框架 SpringBoot版本:2.2.6 实现步骤如下: 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mybatisPlus 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version> 3.0 . 6 </version> </dependency> <!-- thymeleaf模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <!--redis--> <dependency>

SpringSecurity 1 Quickstart

梦想与她 提交于 2020-05-03 17:31:33
文章目录 关于 SpringSecurity 引入依赖 配置 SpringSecurity 运行 HttpBasic 方式登陆 表单登陆 自定义的 failureHandler 和 successHandler failureHandler successHandler 模拟登陆 总结 由于产品需要, 现在开始为 Auth 模块作技术预研和储备工作. 实际案例已经进行到很后面了…博客缓慢更新中… 先从简单的 Quickstart 开始…本例作为 SpringSecurity 5 的快速入门案例。主要涉及 HttpSecurity 的 csrf,httpBasic,failureHandler 和 successHandler。 关于 SpringSecurity SpringSecurity 是一个为企业级应用提供认证, 授权以及其他安全特性的框架. Reference 引入依赖 作为入门案例, 我们只需引入 SpringSecurity, SpringBoot Web 以及 Lombok 即可. < dependencies > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-web </ artifactId > </

lombok的@Accessors注解会导致JavaBean的setter规范问题

懵懂的女人 提交于 2020-05-02 18:17:40
晚上在为一个工具类写单元测试的时候发现了一个问题 : <font color='red'> lombok的@Accessors链式调用会破坏JavaBean的setter规范,从而导致使用java.beans中的PropertyDescriptor (属性描述器)进行反射的时候回获取不到的writeMethodRef的和writeMethodName的内容。</font> 情况是这样子的 : 我有一个用于测试的TargetModel 如下,加入了链式调用注解的@Accessors(chain = true) import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; @Data @NoArgsConstructor @AllArgsConstructor @Accessors(chain = true) public class TargetModel { private String name; private

TusP/wps-view-java

家住魔仙堡 提交于 2020-05-02 14:10:46
wps-view-java 本次更新 增加前端调用的新建模版接口,快速新建文件 w_user_acl_t权限表中rename字段更改为re_name,避免和mysql关键字冲突报错 满足你的OSS所有需求,util中OSSUtil包含了所有常用的oss方法,全部测试可用 增加上传、删除等文件管理接口 演示地址 https://ljserver.cn/wpsonline 环境准备 前提 申请 wps在线编辑服务 ,获取到appid和appsecret 设置wps回调url,如 http://123.34.56.78:8080(此端口号必须与java项目中端口号一致) 申请阿里oss,获取到access_key和access_secret等相关参数(其它云存储请自行集成) 不想使用oss的,或者是想使用其它云,以及服务文件的,可屏蔽版本更新接口中的代码,或者重构,或者不管(只是保存版本的时候有异常),先整体拉通工程 java编译器安装lombok插件,详见 lombok安装说明 服务 初始化mysql,执行resources下的wpsinit.sql文件(数据库可自己改,以及其中文件url,头像url,请自行填写) 配置resources下application.properties中的mysql、wps以及oss相关参数 打包后部署到回调服务器(注意端口号) 其它相关接口请查阅

JDK14的新特性:Lombok的终结者record

99封情书 提交于 2020-05-02 14:02:05
文章目录 简介 新的Record类型 探讨Record的秘密 record扩展 总结 JDK 14的新特性:Lombok的终结者record 简介 自从面向对象产生之后,程序界就开始了新的变化,先是C发展到了C++,后面java横空出世,大有一统江湖的趋势。 面向对象凭借其结构化的特点和在大型项目中的优势,一路蓬勃发展到今。面向对象不是不好,但是太繁琐。 比如我们要定义一个简单的存储数据的结构,比如说User。除了要定义其内部的具体字段以外,我们还要定义get set方法,定义构造函数,equals(), hashCode(), toString()等。 为了解决这个问题,也产生了很多解决方案,比如Lombok,可以通过注解就自动生成特定的存取方法和构造函数。但是Lombok生成的代码看不到,在代码调试方面有一定的劣势。 终于JDK 14为我们带来了record,虽然还是预览特性,但是今天我们一览为快。 新的Record类型 Record是一种轻量级的class,可以看做是数据结构体。和scala中的case有点相似。 举个自定义User的例子看一下Record是怎么用的: public record Address ( String addressName , String city ) { } public record CustUser ( String firstName

IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)

岁酱吖の 提交于 2020-05-02 00:25:10
软件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition) 运行环境: JDK1.8, Tomcat8.0, Maven3.6   我们在学习新的无论是jar包, 框架, 还是新的软件时, 一定需要找到一个入口(接口), 从这个入口中进入, 一层一层往下挖掘学习!   比如说Mybaits中的MybatisAutoConfiguration ( 如何加载各类XML配置文件, 如何利用 @Bean-SqlSessionFactory 实例化Bean对象 ) 可以算作是一个入口, 从这个入口出发, 进而才能对Mybatis有一个全面的了解!   那么IDEA这个软件的入口在哪里呢? 私认为同样是配置项, 即软件的 File-settings ,没有哪一个软件上手就开始操作的, 我们必须得进行一些个性化或者功能的设置, 然后进行项目开发才能如鱼得水!!!   首先要牢记开启settings 的大招是: 上前拳! oh, 不, 快捷键是 : Ctrl+Alt+S , 如下图 一切从这里出发, 寻找与Eclipse/STS的相似处. 1.maven & tomcat配置   ①Maven配置   其中maven的设置settings.xml 以及maven本地仓库repository 设置 就不再赘述   IDEA可选的Maven常用配置有 :