1. 程式人生 > 實用技巧 >mybatis關於Criteria的一點小坑。。。

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規則欄位。。)