编辑
2022-11-09
遇到的问题
00

直接移除数据会出现异常

比如list的大小为2,下标为1 我进行遍历,size为0时,发现不符合我的要求我就进行移除, list的大小就为1,下标就变成了0,原来下标为1的数据就顶替了下标为0的数据 然后for循环就会自动跳出,因为程序认为自己遍历了下表为0的数据,下一条数据又没了 实际上现在下标为0的数据,就是原来的第二条,这样就会造成数据错位

我们就需要用到迭代器iterator,它是一个超级接口,隔离对容器的遍历操作和底层实现,从而解耦。 hasnext()方法是判断是否还有元素 next()方法是获取下一个元素 remove()方法是移除当前的对象

编辑
2022-11-09
遇到的问题
00

1.首先在oracle中的replace function窗口中添加方法

CREATE OR REPLACE FUNCTION LONG_TO_CHAR(IN_WHERE VARCHAR, IN_TABLE_NAME VARCHAR, IN_COLUMN VARCHAR2) RETURN VARCHAR2 AS V_RET VARCHAR2(32767); V_SQL VARCHAR2(2000); BEGIN V_SQL := 'select ' || UPPER(IN_COLUMN) || ' from ' || UPPER(IN_TABLE_NAME) || ' where ' || IN_WHERE; EXECUTE IMMEDIATE V_SQL INTO V_RET; RETURN V_RET; END;

2.比如在视图中使用

编辑
2022-11-09
学习记录
00

Java中的List

有ArrayList和LinkdList,前者底层是数组,后者底层是链表,前者适合遍历查找,后者适合插入删除

1.List的add方法

有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,原来位置的内容就会向后移动一位。

2.List的set方法

也有两种情况,第一种就是默认添加,在末尾往List里添加元素,第二种就是指定位置添加内容,把原来位置的内容给替换掉,并返回原来的元素内容。 基于这个set方法,我们就可以轻易的实现对List元素的交换位置。

int i=0; for (MrhpDiagVEntity entity : mrhpDiagVEntityList) { if (entity.getDiagnosisType().equals("3")) { if (entity.getIsFirst() != null && entity.getIsFirst() == 1) { //诊断为主要诊断时,使用set替换0下标的list,获取旧值填充到当前的位置 MrhpDiagVEntity oldEntity= mrhpDiagVEntityList.set(0, entity); mrhpDiagVEntityList.set(i,oldEntity); } } i++; }
编辑
2022-10-28
学习记录
00

1.介绍

@DateTimeFormat和@JsonFormat都是处理时间格式化问题的,把其他类型转换成自己需要的时间类型。

2.使用

2.1导包

@DateTimeFormat和@JsonFormat分别属于spring和jackson,所以我们需要导入相应的包。

xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.11.4</version> <type>bundle</type> </dependency>

2.2加注解

时间格式化 @DateTimeFormat是spring包里面的注解 @JsonFormat是jackson包里面的注解

@DateTimeFormat(pattern = “yyyy-MM-dd”) @JsonFormat(pattern = “yyyy-MM-dd”,timezone=“GMT+8”) private Date birthday; 注:默认情况下timezone为GMT(即标准时区),而北京是在东八区,会造成差8小时,所以 timezone =“GMT+8”。

编辑
2022-10-28
实用工具
00

函数  说明  SQL语法

eq   等于   = ne   不等于  <> gt   大于   > lt   小于   < ge   大于等于   >= le   小于等于   <= or   或者   or and   并且   and like   模糊查询包含s   like %s% notLike   模糊查询不包含s   not like %s% likeLeft   左匹配模糊查询   like %s likeRight   右匹配模糊查询   like s% between   在v1到v2之间   between v1 and v2 notBetween   不在v1到v2之间   not between v1 and v2 isNull   是否为空   is null isNotNull   是否不为空   is not null in   field在[a, b, c]之中   field in (a, b, c) notIn   field不在在[a, b, c]之中   field not in (a, b, c) orderByAsc   升序排序   order by field asc orderByDesc   降序排序   order by field desc groupBy   分组   group by having   分组过滤   having

mybatisPlus 2.4.0 or的写法

queryWrapper.and(i->i.likeRight("INPUT_CODE",request.getInput().toUpperCase()) .or().likeRight("RECALL_PURPOSE_NAME",request.getInput()) );