List<SalesContract> getAll(int userId);
List<ProjectReview> loadproject(int userId, @Param(value = "status") Integer status, Integer salesContract);
二者之间的区别:
第一个是 Java的基础类型 不进行 判空操作
第二个 是包装类:需要 判空时候,出现的问题
当使用 Integer 出现问题
解决方案 一 :使用 _parameter 来代替
方案二 :使用
@Param(value = "status") 注解
方案三:使用 map 把 对应的条件 进行封装 此时 对应的是》使用key当作 取值的策略
方案四 : 把 查询条件封装为实体类 然后把对应的属性 写上get和set
userId
或者 使用int
看看源码 我们 解读一下 为什么 会这样?
在这里判断 对应的参数类型 map 还是 list 或者 基础类型 或者对象等。。。
判断 是否 是一个类?
会加载出所有的 在配置文件中的类别。
假如我们没有给 对象 起名字 . 就会使用 默认的名字
使用 了ognl 加载参数
读到你的 判断 语句
但是 对应的Integer 类 没有 对应 getUserId 这个方法会报错。