======================== MyBatis动态SQL之更多标签 ======================== 1 where 构建where子句,自动去除打头and/or。 ... ... 如果所有if均不满足,在where不起作用。 2 trim 追加前后缀,但不会自动去除打头and/or,除非通过prefixOverrides显式指明。 ... ... 如果所有if均不满足,则trim不起作用,前后缀都没有。 3 foreach 遍历集合形式的查询参数。 public interface MemberDao { ... public List searchByCities(List cities); ... } public class MemberDaoTest { ... @Test public void testSearchByCities() { MemberDao dao = MyBatisUtil.getMapper(MemberDao.class); List cities = new ArrayList<>(); cities.add("上海"); cities.add("广州"); List members = dao.searchByCities(cities); System.out.println(members); } ... } ... | | ___________________________| | ... | | | _______________________________| | | | | v v v v select ... from ... where city in (上海, 广州) 运行测试用例。 例程:Dynamic