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规则字段。。)

    原文地址:https://www.cnblogs.com/xhj928675426/p/13227275.html