发表于: 2017-11-09 17:30:43
0 828
今天做的事:
今天先改了下接口,模糊查询之前没做,所以添上。
使用like语句,如下:
select id from table where column like %入参%
就可以使用模糊查询了。
然后正好看到in,虽然没用到,不过这里提一下,多参数,之前应该用过:
然后,公司用hibernate,定义一个临时属性,使用注解
@Transient
如下
@Transient
private Integer[] grades = null;
@Transient
public Integer[] getGrades() {
return grades;
}
@Transient
public void setGrades(Integer[] grades) {
this.grades = grades;
}
setter、getter方法也要使用,不然会报错。
然后,做着做着,就出大事了!要改表结构,被撸掉一层皮啊!
然后有个需求是获取数据库最后一条记录
我就想着一条sql能不能行,查了一下mysql确实可以:
select max(id) from table
但是公司框架不支持,只能拆解,分两步,先倒序,再取第一条,很难受。
然后,所有问题的根源就是接下来这个问题,我当时写接口的时候,忘记需求变更,导致插入的时候有问题,这个时候相应的修改就出问题了
需求是这样的,某个字段,可以在前端页面传过来一个数组,然后我将数组拆解,插入多条数据。
插入好做,但是修改难。
因为修改设计增删改查所有内容,首先要看之前的数组内容A,然后看更新的数组内容B,对比AB
A有B无 删
A无B有 插
A有B有 改
这里就又涉及两个数组的对比,这块是个难点,虽然最低效的方法,两个for就可以完成,但是太损失性能了!
一个能优化的算法,我肯定要优化啊,我就是这么优秀!
然后卡在这了,先放着,一会回来看。
继续改接口。。
今天真的难受,改接口改的头都要掉了,不想写东西了,明天再说,贴个今天比较关键的东西。
public class SplitUtil {
public List<Integer> stringToIntegerList(String s){
String[] arr = s.split(",");
System.out.println(arr.toString());
List<Integer> intList = new ArrayList<>();
for(int i = 0; i < arr.length - 1; i++){
System.out.println(Integer.parseInt(arr[i]));
intList.add(Integer.parseInt(arr[i]));
}
return intList;
}
public String intListToString(List<Integer> intArr){
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(intArr.get(0) + "");
for (int i = 1; i < intArr.size(); i++){
stringBuffer.append(",");
stringBuffer.append(intArr.get(i) + "");
}
return stringBuffer.toString();
}
}
明天计划:继续改接口,写接口
问题:服务器部署出问题,明天问问阿飞
收获:别瞎他妈改,一定想清楚再说,一下午改的东西全部白改,还变了几次表结构,我真的是傻逼
评论