mybatis 入参传多个list

2020-04-24  本文已影响0人  9518f65def63

1、假设一种业务场景,有一张表存储了一些受试者的信息,包括性别、年龄、职业什么的;

现在我要通过接口找到表中所有性别女年龄为49,50的受试者,以及性别男年龄55,56的受试者,但我也想通过接口只查对应的合格女受试者或者合格男受试者

总结来讲就是找 (sex=男 and age in () or sex=女 and age in(),括号中的内容还可能是空的)

mapper文件中怎么实现呢

首先我要建立一个so对象,mybatis可以根据属性名称进行区分

so对象,首字母忘记大写了吗,这个不重要 正确的写法

之前想将两个list合在一个test中进行判断,结果报错了

错误写法①

报错信息是com.best.oasis.crm.util.exception.QueryException: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.mapping.SqlMapperException: The expression 'maleAgeLimit' evaluated to a null value.

网上百度说可以在属性名前面加上类名,加上之后都是扯淡,还是报错

假设在dao层定义的方法中,入参加上@Param注解,指明参数名称如testSO(@Param(value="testSO") TestSO testSO,忽略这里的TestSO的T大写,跟上面的定义不一样,这个只是为了容易区分一下)

错误写法②

报错信息就会变成TestSO对象中testSO没有对应的get方法

没有看源码,暂时先总结到这,如果有更好的方法,希望你与我分享

上一篇下一篇

猜你喜欢

热点阅读