发表于: 2017-11-09 17:30:43

0 829


今天做的事:


今天先改了下接口,模糊查询之前没做,所以添上。


使用like语句,如下:

select id from table where column like %入参%

就可以使用模糊查询了。


然后正好看到in,虽然没用到,不过这里提一下,多参数,之前应该用过:

SQL IN 语法
SELECT column_name(s)FROM table_nameWHERE column_name IN (value1,value2,...)


然后,公司用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();
   }
}



明天计划:继续改接口,写接口


问题:服务器部署出问题,明天问问阿飞


收获:别瞎他妈改,一定想清楚再说,一下午改的东西全部白改,还变了几次表结构,我真的是傻逼



返回列表 返回列表
评论

    分享到