使用通用Mapper查询时 如果有多个and
Example example = new Example(SysHospital.class); Example.Criteria criteria = example.createCriteria(); criteria.andEqualTo("deleteFlag", DeleteFlagEnum.NORMAL.getCode()) .andEqualTo("hospitalType",req.getHospitalType());
如果有多个or
Example example = new Example(SysHospital.class); Example.Criteria exampleCriteria = example.createCriteria(); exampleCriteria.orLike("storeEmail", "%" + req.getEmail() + "%"); exampleCriteria.orLike("ethicEmail", "%" + req.getEmail() + "%");
如果 遇到 A and ( B or C ) ,网上查了一下,好多人写法 ( A and B ) or (A and C) 当 A 是复杂的多个and 时 这种写法就会很复杂
建议写法 就 拆成 A 、 B or C
操作 建两个 criteria (如上)
如何把两个连起来?把后建的那个需要加到example 中 ,最后执行查询
example.and(exampleCriteria);
sysHospitalMapper.selectByExample(example);