========================
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