动态SQL
5.1if、where元素
(1)mybatis中的if元素用于对某一字段进行判断,比如根据判断传过来的参数是否为空,从而决定是否执行包含在其中的SQL片段。
(2)where元素则用于对包含在其中的SQL语句进行检索,需要时会剔除多余的连接词(比如and或者or),并且在需要时可以添加where关键词
示例:查询emp表中所有员工的信息,另:
如果传递了minSal(最低薪资)和maxSal(最高薪资),则查询薪资大于minSal和小于maxSal的员工信息;
如果只传递了minSal,则查询薪资大于minSal的所有员工信息;
如果只传递了maxSal,则查询薪资小于maxSal的所有员工信息;
5.2set元素
mybatis中的set元素用于对包含在其中的SQL语句进行检索,在需要时可以剔除其中多余的连接符(比如逗号),并且在需要时可以添加set关键词。
示例:修改emp表中指定id的员工信息,如果传递了name、job、salary列的值,则修改,否则不修改
5.3foreach元素