java
梦忆故城
顺境,逆境,切莫止境;得意,失意,切莫大意。
展开
-
使用java对elasticsearch某字段进行修改
一、需求情景 要求将es中文章信息的所在目录移动到另外的目录上去,可以一次性移动多篇文章到指定目录上。 思路:过滤找到es中需要移动的文章,改变对应的目录id即可。二、代码实现 执行方法相对比较简单,主要分为构造查询条件和执行查询修改两步,主要运用UpdateByQueryRequest查询操作的方法。 public Long moveCatalogModel(List<String> modelId, String catalogId) throw...原创 2021-01-29 10:18:18 · 3648 阅读 · 2 评论 -
使用java对elasticSearch进行复合查询
一、实现需求 指定目录下,根据搜索词对有效的es文档的标题进行检索,并对检索词高亮,实现分页查询,若没有填搜索词,则显示指定目录的全部文档信息,查询内容按照更新时间倒序排序。二、代码实现1.检索结果文档实体@Datapublic class ModelSearchDocsVO { private String classifyName; private String classifyCode; private List<ModelSearchDocsV..原创 2021-01-29 10:06:14 · 793 阅读 · 0 评论 -
JAVA通过HashSet方法对list实体对象去重
1.原理 在实体对象类中重写hasCode方法和equals方法。先比较hasCode是否相等,若相等则不添加;若不等再比较equals方法,若也相等则添加元素,否则不添加。这种方法比循环遍历list元素更加高效。 hashSet的底层实际上就是一个hashMap的key值,因此不允许重复。2.代码示例2.1实体对象类 若实体对象元素中含有null,则使用equals比较时会报错,因此需要判别一下。import java.util.Objects;public...原创 2020-10-28 15:01:36 · 1163 阅读 · 5 评论 -
将JSONObject转换为Map,List,String等任意数据类型的简单方法
JSONObject的包名为com.alibaba.fastjson.JSONObject,话不多说,直接就一行代码:Map<String,Map<String,String>> map=JSONObject.parseObject(json.toJSONString(),new TypeReference<Map<String,Map<String,String>>>(){}); 其中json表示com.alibaba.f...原创 2020-09-16 09:47:13 · 3200 阅读 · 0 评论 -
SSMAOP日志--实现用户访问记录的通用后端代码
1.需求分析 通过AOP方法实现用户对网页的访问记录,即实现“某用户于什么时间通过什么ip访问了什么接口方法,访问的时长为多久”。2.数据库和表结构设计2.1日志表信息描述sysLog字段名称 字段类型 字段描述 id varchar 主键uuid visit_time datetime 访问时间 user_name varchar 操作者用户名 ip varchar 访问ip url varchar..原创 2020-08-20 13:23:16 · 506 阅读 · 1 评论 -
文件上传报错:Current request is not a multipart request的解决办法
1.问题现象 写在文件上传接口时,传入参数有MultipartFile文件和其他类型参数,如图所示。 结果前端调用时报错org.springframework.web.multipart.MultipartException:Currentrequestisnotamultipartrequest,并且发现orgId参数是会拼接到url中的,显然没有一起传入。2.问题分析 显然从报错信息来说,是因为使用springboot制作excel表格上传时候报错,上...原创 2020-08-10 14:06:44 · 73057 阅读 · 8 评论 -
往Mysql添加数据后,返回该记录的自增主键值
1.需求分析 在项目开发中往往会遇到这样的情况,往数据库里面插入数据,需要立马获得该数据的自增id,例如添加用户数据后,要立刻添加用户角色关系的数据。这个时候一般的做法就会再去查询该数据获得id,这样往往会增加数据库的压力,同时查询条件不一定是唯一标识符,影响准确性。2.推荐方法 思路是将主键值注入到实体类对应的属性。在mybatis框架中,在mapper中指定keyProperty属性,例如:<insert id="insertRole" parameter="Um...原创 2020-07-22 15:08:42 · 697 阅读 · 1 评论 -
Spring基于XML的IoC环境搭建
1.什么是IoC IoC,即控制反转(Inversion of Control),把创建对象的权利交给框架,是框架的重要特征。它包括依赖注入和依赖查找。2.IoC的作用 削减计算机程序的耦合,即削减代码之间的依赖关系。3.基于XML的配置3.1拷贝必备的jar包到工程的lib目录中3.2在类的根路径下创建一个任意名称的xml文件(不能是中文)给配置文...原创 2020-05-08 09:46:27 · 158 阅读 · 0 评论 -
使用PageInfo把list手动进行分页处理
在项目中经常会遇到对list列表进行分页处理,这时就不能使用PageInfo在查询数据库时分页,需要查询全部之后,进行手动分页。 从PageInfo的类中可以看出,PageInfo里面包含各个参数,各个参数的含义如下://当前页 private int pageNum; //每页的数量 private int pageSize; //当前页的数量 private...原创 2020-04-21 15:12:22 · 7177 阅读 · 6 评论 -
SpringBoot规范和优化后端接口(validator+BindResult进行校验、全局异常处理)
一个后端接口大致分为四个部分:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、相应数据(response)。优秀的后端接口的关键点就是看是否规范。1.所需要的依赖 SpringBoot配置项目,需要导入一个spring-boot-starter-web包:<!--web依赖包,web应用必备--><depe...原创 2020-04-16 14:58:01 · 1492 阅读 · 0 评论 -
java实现简单的树形结构方法
1.首先定义实体类,包括本节点、父节点和叶子节点的实体列表:@Datapublic class NodeTest { private Long id; private String name; private Long parentId; private List<NodeTest> children; public Node...转载 2020-02-16 15:12:19 · 3177 阅读 · 0 评论 -
代码统计以及cloc工具的使用
一、使用git命令行统计代码量统计某个人某一时间段的代码量$gitlog--format='laowang'|sort-u|whilereadname;doecho-en"$name\t";gitlog--author="$name"--pretty=tformat:--since=2019-07-15--until=2019-12-25--nums...原创 2020-01-14 13:18:11 · 1264 阅读 · 0 评论 -
给编译器看的注解--Annotation
1.Annotation的含义Annotation主要服务于编译器,属于一种配置信息。在本质上,Annotation提供了一种与程序元素关联任何信息或者任何元数据的方式。Annotation可以像修饰符一样被使用,可以应用于任何程序元素(如包、类型、构造方法、方法、成员变量、参数、本地变量)的声明中。这些信息被存储在Annotation的“name=value”结构对中。事实上,Annotat...原创 2019-08-22 21:16:02 · 397 阅读 · 0 评论 -
java中的抽象类与接口
1.抽象类1.1抽象类定义规则如下:(1)抽象类和抽象方法都必须用abstract关键字来修饰;(2)抽象类不能直接实例化,也就是不能直接用new关键字去产生对象; Book book=new Book(); //若Book是抽象的,则语法错误,因为无法被实例化 (3)抽象类定义时抽象方法只需声明,而不需要实现; abstract class Book...原创 2019-08-20 21:32:34 · 172 阅读 · 0 评论