SQL查询语句一般都会用到where条件,多个条件之间还需要使用and 或者or连接。如果手工写这样的语句,难免会出现一些错误,比如多一个and、少一个and的问题。Mybatis提供了一个<where>标签,可以有效的避免这些问题。小博老师给大家演示下如何使用<where>标签。
首先给出一个数据库表User的结构:
假设我们有个需求,根据userName或者userId查询用户列表。当然参数都可能为空,如果都为空则查询出所有用户。那么在Mapper xml中的SQL应该如下所示:
如果输入的参数中userName不为空,则生成的SQL类似如下所示:
select * from user where userName like ‘%x%’;
where智能的去掉了userName前的and。如此就可以便利的使用MyBais的<where>标签动态控制输出了。