记录第一个项目遇到的问题及解决方案
环境
这里只列出我自己接触的部分
持久层框架:Mybatis plus + 前端框架: layui + APP框架:APICloud
问题及难点
将一条信息插入数据库,并获取到这条数据的自增id
网上的解决方法:1. select max(id) from tablename 2.SELECT LAST_INSERT_ID() 函数
实际解决方法:使用Mybatis plus : insert 后主键会自动 set 到实体的 ID 字段,所以只需要 getId() 就好
获取到的用户/场站列表中有被逻辑删除的项(状态为"删除"),不应该被显示出来
网上的解决方法:1.修改select的查询条件,因为项目中采用多个中间表表示数据间的关系,涉及到的多表联查比较麻烦(其实就是我不会。。)所以没有采用本方法
实际解决方法:将获取到的所有用户/场站id存入List中,用for循环判断当前id对应的状态是否为"删除",为"删除"时,将List对应的项删除。注意List.remove(i)时会导致列表长度变化,应在循环体中i - -。
//这个方法好像也是对的
Iterator<String> it = list.iterator();
while(it.hasNext()){
String x = it.next();
if(x.equals("del")){
it.remove();
}
}
在controller中return “error” 不会跳转到error.jsp页面
原因:猜测是因为error为系统保留字段
解决方法:return “error1” 就可以了
select后.get()可能会报空指针异常
原因:select可能取到的值为空而不是预想的实体,null的get()会报空指针异常
解决方法:1.select后判断返回值是否为空,不为空时再用get方法 2.用try