自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Java与Python的不同之处

1,数据类型 有差异java 8种基本数据类型(布尔),还有包装类型Python为数字number,布尔2,语句构成不同2,1Python没有了大括号,没有了语句结束标志性分号。没有了小括【目前只是注意到判断语句的小括号没了】例如下面为java的判断语句if(xxx){print()}例如下面的为Python的语句if xxx :print();2,2 Python讲究的是格式【缩进】,...

2021-12-14 19:37:35 554 1

原创 端口占用杀进程操作流程

cmd 电脑输入命令netstat -aon|findstr "8080"8080位对应的端口号,即为查询占用8080端口进程的pid。netstat -ano命令是查询所有的拿到pid,就可以打开任务管理器,然后详细信息,pid排序,好到对应pid,结束进程或者程序即可。...

2021-09-30 17:16:16 195

原创 打包部署项目

闲着没事记点小笔机,最近年老了,,记忆有时候短路。首先要知道打包部署可以采用jar,war还有其他的,目前这两种很常见在maven里install项目,会得到jar包,控制台会提示jar包位置。也就是xxx.jar然后cmd到命令行控制台,输入对应jar路径的盘符, 如 D:【注意不要加cd,无效的,又不是Linux系统】然后输入路径进入到对应路径。再java -jar jar包名称【注意之间的空格】就OK了。...

2021-09-27 10:20:39 242

原创 linux常用相关命令记录下

================创建目录=====================mkdir dir1 创建一个叫做 'dir1' 的目录'mkdir dir1 dir2 同时创建两个目录=================删除文件/文件夹============rm -f file1 删除一个叫做 'file1' 的文件'rmdir dir1 删除一个叫做 'dir1' 的目录'rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容=============...

2021-08-27 18:05:27 91

原创 对于取名规范问题

controller的名字应该见名知意。而不必要和service名字完全一样。比如service是add,update等等,但是具体业务为了描述更清楚可以在controller取名更贴切业务逻辑而非代码常见的add,update这样的常见名。不要太长,长度适度,一定长度idea也显示不了的,而且搜索有时候会报错,总之名字不要太长。也不要太短,要能表述清楚的情况下尽可能短。一定用英文单词命名,不能中文,最基本操作,加强版就是:单词要符合对应描述,比如工厂用factory,要用company就不太合适。

2021-08-20 16:46:21 131

原创 Ambiguous mapping. Cannot map ‘uploadController‘ method

翻译后:模糊映射。无法映射“上传控制器”方法然后周边还报了bean已经示例过了,创建错误等等。。。总之这次是方法差不多相同,名字忘记换了,{方法名之前就换了,路径名忘更改}。@RequestMapping("/xxx")里的xxx参数相同了。导致了虚拟机不知道要执行哪个,所以提示:模糊映射,没毛病。...

2021-08-19 15:30:24 355

原创 文件防重复上传

对文件的字节加密,下面采取的是md5算法​​​​,作用;不是按名字记录内容是否重复而是按内容。​​​String md5 = DigestUtils.md5Hex(file.getBytes());

2021-08-19 14:44:13 228

原创 获取文件名,文件后缀名

//该文件为mutilpart文件String filename = file.getOriginalFilename();//获取文件名 String caselsh = filename.substring(0,filename.lastIndexOf("."));//获取文件名后缀String suffix = filename.substring(filename.lastIndexOf(".")+1);...

2021-08-19 14:29:52 302

原创 撤回与前进快捷键

ctrl +z是撤回,常用操作。Ctrl+shift+z 是前进,,删多了也可以回滚下代码。这个容易忘记,记住。。。

2021-08-18 19:55:07 6762

原创 gitlab查看提交代码已审计详情

2021-08-18 17:42:23 733

原创 操作日志的注解

类似的元注解也可以这样写什么是元注解?那就是注解的注解,也就是对注解的解释。比如下面target就算。/** * 操作日志注解 */@Target({ElementType.METHOD}) //代表作用在方法上@Retention(RetentionPolicy.RUNTIME) //作用时间,运行期间@Documentedpublic @interface OperationLog { String module() default ""; String descri.

2021-08-18 16:54:55 343

原创 Navicat插入更新造数据操作

只需要配好表,写一条数据,迅速按下面操作复制SQL出去,到新建查询粘贴。粘贴后,去掉id【id自增】,然后,改下除id的唯一字段,如果没有这种除id有唯一字段的情况更爽快了,。直接复制后去掉id,然后多粘贴几个,一下执行好几个,批量新增假数据很方便。当然,也可以采用脚本批量写数据了。暂时脚本方式没资料哦。...

2021-08-18 10:07:23 1704

原创 时间转换时间戳毫秒数转公用日期

在DTO里,需要加如下注解@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")才可以转成功时间,否则日期解析不了。注:需要计算日期时,需要日期字段时,才可用,不需要,不用管。另外可以使用数据库记录时间,设置创建时间默认记录,更改内容默认更新时间,很方便。这里说的,其他按文章已经有提到。@ApiModelProperty(value = "更新时间", required = true)@JsonFormat(timezone..

2021-08-17 20:21:32 147

原创 关于流程状态该不该传

最好不要传。对于状态不要传给前端,而需要通过id或者业务id,编号啥的更改状态。就一个id就行,不会让前台知道流程有哪些状态。而是用不同接口区分操作,然后设置状态。(或者设置另一个与数据库无关的状态接口类来完成业务标识?比如数据库status换成DTO里的type,type是纯业务的而不和status强关联)...

2021-08-17 15:12:06 90

原创 @Valid注解的作用

用了校验requestbody里DTO的参数,使@NotNull,@NotEmpty生效。不写就不生效了,就需要自己在代码里用StringUtils.isEmpty等等判空判null。

2021-08-17 10:09:37 106

原创 @RequestBody注解忘加导致空指针

直接controller开始拿req的参数都是null。请求都是带了参数的。路径也没有问题。必传参数都有,同时检查了数据库字段和实体以及RequestBody参数是对应的,没有名字错误或者没传或者数据库设置了不为null,以上检查都没问题。就是单纯少了这个注解导致空指针。而且 是开始就为null。第一行代码都没走,(出去方法那一行),而就错在那一行注解@RequestBody没写。...

2021-08-17 10:05:31 525

原创 一个较完整的DTO包含哪些内容【自用向】

相当于直接传参数,用DTO的方式,前端可以很清晰知道需要传的参数,以及是否必传。DTO是属于实体类的。1,类上注解@Data。用了lombook就省去setget,无参有参构造等等。2,字段注解@ApiModelProperty(value = "名称", required = true)@Size(max = 64)@NotEmptyprivate Integer textId;非空,非null判断,大小限制,一定程度都是为了提高安全性,不至于随便一个垃圾请求也需要消耗服务器资源.

2021-08-16 16:40:55 1144

原创 判空在DTO或者service里

在dto或者叫Req(也就是requestBody里)如果已经用了注解@NotNull 或者@NotEmpty 对请求参数字段限制,那么在service实现类里(当然controller里一样也行)就不需要用如下代码CommonUtils.isNull(req.getRemarkId());StringUtis.isEmpty()之类的。判空。如果没写,就需要。另外注意,对于增删改查共用DTO时,就在代码里判空,而不在DTO里写,DTO就写required=false而不是TR..

2021-08-13 13:58:44 1026

原创 Mybatisplus常用方法记录【实际用的不是所谓网上常用的】

友情提示:括号内代表对应内容不是参数名称,省略写了参数类型。后续内容持续更新中。1,updateById(entity);根据主键更新数据。注意事项:对于有逻辑id更改数据的,记得先查询一下主键id再用这个方法更新数据。或者直接用update(entity,updateWrapper)。2,updateById(entity,updateWrapper);根据实体参数更新数据。...

2021-08-12 10:58:13 475

原创 常数值接口优化鼠标划入显示含义

普通写法,只能点进来才知道参数解释。public interface Status{ /*1,草稿*/ int STATUS_DRAFT = 1; /*2,审核中*/ int STATUS_CHECK = 2; }这种注释写法可以在调用参数时,鼠标划入即可看到参数的解释,非常方便不用单独进入雷利查看描述了。对编写代码速度替身不少。public interface Status{ /** * 草稿 */ int STATUS_..

2021-08-12 10:14:57 76

原创 关于在DTO或者实体类设置字段的多状态

@ApiModelProperty(value = "记录审核的状态,0,通过;1,审核驳回",required = true)@NotNullprivate Integer curTab;public interface curTab{ /*记录审核的状态,0,通过;*/ int SUCCESS = 0; /*记录审核的状态,1,审核驳回;*/ int REFUSE = 1;}...

2021-08-10 11:17:25 166

原创 java.sql.SQLException: Incorrect integer value:整数值不正确

原因可能是,自己遇到的:代码里的实体字段类型和数据库字段属性不一致导致的。比如我数据库用的int,而实体是String就会报这样错误

2021-08-09 14:25:22 3310

原创 每次CURD时的注意事项

新增 前需要判断一些逻辑,比如requestBody或者DTO判断参数是否有,是否null,是否为空。@Size限制 (对String)。可以降低被攻击的可能性。提高代码健壮性。新增service里要先判断 逻辑是否合法,比如前置有什么必须需要的参数,需要先判断,没有就报错new 异常或者return。逻辑判断后再进行正常的新增业务操作。修改和删除这些操作要先判断数据是否有,再进行数据修改删除。没有数据就直接new 异常或者return。...

2021-08-09 11:17:39 91

原创 postman关于无参数依旧需要设置body问题

提要:对应动态查询,可以一个参数都没有,也可以多个参数的时候。即使没有参数条件传上来,但是代码使用了一个实体类传参数(RequestBody,和DTO差不多),即使没有参数也需要传个空的,代表有body,只是是空的,但是不能不设置参数,图示如下。无参数,但是没有设置空body时。有条件时,可以正常查询没参数条件时,设置了空body,可以正常查询...

2021-08-06 11:35:16 578

原创 权限问题,对于逻辑删除数据是否查看

所有角色包括超级管理员,也无法查看逻辑删除的数据。

2021-08-06 10:53:03 79

原创 new 异常语句

throw new XXXXException(code设置个枚举(enum)码,比如Code.MSG,string具体解释);

2021-08-06 09:56:00 155

原创 报错There is no getter for property named ‘null‘解决

@TableIdprivate int id;问题不是是BeanUtils拷贝为null的问题。@TableId当时没加,然后名字不是叫id,是xxxxid。这样会导致mybatis不能识别 id 在哪,即使数据库有,但是代码里他不知道的。所以1,要不,写id,可以不写主键2,要不。取其他名字,但是要写@TableId注解。=========================下方说明部分攻略无效,特此指下,以及后续也可参考。网上很多都是,说null,就用下面的方式,其..

2021-08-05 20:36:10 2747 1

原创 参数不能为空,注意注解不要乱加,,,

简单来说就是,写了required=false,就不要写验证是否空,是否null。如果required=true,就要写是否为空,为null。integer判null,String判空,对于其他的,比如参数类型为Date日期类型,那就不要写@Size注解,,...

2021-08-04 17:00:56 6376

原创 java.sql.SQLSyntaxErrorException: Unknown column ‘business_id‘ in ‘field list‘

说白了就是对不上号,或者说没有这个字段。实体对象属性与数据库字段不匹配。我的问题就是多个了个字母,一时没发现。。一定要仔细检查

2021-08-04 09:46:04 489

原创 字段必传没传经典报错解决

自己挖坑,自己跳,石锤了,,QAQ

2021-08-03 17:22:33 139

原创 日期格式配置,不配必回报日期json解析异常

DTO层@ApiModelProperty(value = "时间", required = true)@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")private Date punishDate;加下面的一句注解就行了。@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")...

2021-08-03 17:00:38 214

原创 swagger注解配合Valid注解使用以及注意事项

前言:swagger是做可视化,生成对于接口文档,valid是验证。对参数做限制,一定程度可以防止非法攻击,比如参数过大啥的。通过加这些注解和内容,可以再swagger里生成对于的swagger接口文档。前端观看就能轻松知道需要哪些参数。只要你修改提交相关代码,swagger动态生成对于的数据,不需要像固定world文档还需要重写,减慢前后端开发交流速率。对于数字类型integer 不能使用 @NotEmpty ,应该使用 @NotNull ,而且如果用是基础数据类型比如int,无法校验DT

2021-08-03 15:59:36 1404

原创 查看idea代码修改时间和对应修改人

操作步骤如图所示

2021-08-03 15:32:25 2709

原创 关于涉及到业务的字段不用主键

比如删除,避免通过主键删除,而是再加一个业务字段用业务字段删除。

2021-07-30 15:14:05 170

原创 如何dao里写SQL模糊查询

mybatis加MySQL模糊查询,比如根据填写的国家:英国,也可能是法国等等,所以模糊词不固定需要从输入的字段里面获取。然后模糊查询英字段 like concat(’%’,#{字段},’%’)所以country like concat(’%’,#{字段},’%’)但是模糊查询左边模糊时会全表扫描所以 只是右边模糊左边固定#{字段}由到参数给country like concat(’%’,#{字段},’%’)字段就是service传入参数。但是参数名依旧是..

2021-07-28 16:00:49 1002

原创 关于不重要字段多个数值是否需要新建一个表存起来?

不需要,比如我某张表需要一条法律表适用国家或者地区的字段,可以有多个,但是我dto可以就还是string的方式不需要list存取,但是存取的时候,采用分隔符的方式把多个值串起来成一个参数值存储。但是注意重要的一点是不需要根据该字段进行分类查询,没有这个需求,只要能拿到数据就可以,那就选用这种方式...

2021-07-27 09:54:18 312

原创 数据库及实例类中的富文本用什么类型

数据库里字段用text等其他的实例类是string

2021-07-26 16:15:44 1469

原创 SQL语句优化

#根据角色查询全部用户左链接的方式只用了2张表而且查询效率很快select iu.cn_name from t_inner_user iu left JOIN t_user_role tul on iu.user_id=tul.user_id where tul.role_id=2;子查询的方式用了三张表查询效率慢,in的原因。需要优化。select * from t_inner_user iu where iu.user_id in (select ur.user_id f.

2021-07-22 15:34:51 124

原创 子查询的几种情况

子查询进阶 子查询结果是单行单列(一个值): select * from 表 where = (子查询) 子查询结果是多个值(单列多行) select * from 表 where in (子查询) 子查询结果是多行多列,看成一个表,可以接在from select * from (子查询) where 条件 ...

2021-07-22 14:29:34 491

原创 postman测试DTO请求参数

postman测试DTO请求参数↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

2021-07-21 19:42:56 922

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除