<foreach collection="list" item="item" open="("
separator="," close=")">
#{item}
</foreach>
1、假设一种业务场景,有一张表存储了一些受试者的信息,包括性别、年龄、职业什么的;
现在我要通过接口找到表中所有性别女年龄为49,50的受试者,以及性别男年龄55,56的受试者,但我也想通过接口只查对应的合格女受试者或者合格男受试者
总结来讲就是找 (sex=男 and age in () or sex=女 and age in(),括号中的内容还可能是空的)
mapper文件中怎么实现呢
首先我要建立一个so对象,mybatis可以根据属性名称进行区分
之前想将两个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方法
没有看源码,暂时先总结到这,如果有更好的方法,希望你与我分享
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)