mybatis关于Criteria的一点小坑。。。
目录
在用Criteria时,相关代码如下:
final RolePermissionExample example = new RolePermissionExample();
example.createCriteria().andRoleIdEqualTo(roleId);
example.createCriteria().andProjectIdEqualTo(projectId);
List<RolePermission> rolePermissions = rolePermissionMapper.selectByExample(example);
后面发现只有第一个条件才生效,第二个是不生效的。
经调整,代码修改如下:
final RolePermissionExample example = new RolePermissionExample();
example.createCriteria().andRoleIdEqualTo(roleId).andProjectIdEqualTo(projectId);
List<RolePermission> rolePermissions = rolePermissionMapper.selectByExample(example);
经测试,功能正常!
我反正被这个坑惨了,我一直以为是mybatis缓存的原因(导致我sql查询模块始终只能匹配到第一个指定的Criteria规则字段。。)