动态 SQL,通过 MyBatis 提供的各种标签对条件作出判断以实现动态拼接 SQL 语句。这里的条件判断使用的表达式为 OGNL 表达式。常用的动态 SQL 标签有、、、等。MyBatis 的动态 SQL 语句,与 JSTL 中的语句非常相似。
    动态 SQL,主要用于解决查询条件不确定的情况:在程序运行期间,根据用户提交的查询条件进行查询。提交的查询条件不同,执行的 SQL 语句不同。若将每种可能的情况均逐一列出,对所有条件进行排列组合,将会出现大量的 SQL 语句。此时,可使用动态 SQL 来解决这样的问题
    **

    • 创建新的 maven 项目,加入 mybatis , mysql 驱动依赖
    • 创建实体类 Student , StudentDao 接口,StudentDao.xml , mybatis.xml , 测试类
    • 使用之前的表 student。
    • 在 mapper 的动态 SQL 中若出现大于号(>)、小于号(<)、大于等于号(>=),小于等于号(<=)等符号,最好将其转换为实体符号。否则,XML 可能会出现解析出错问题。

    特别是对于小于号(<),在 XML 中是绝不能出现的。否则解析 mapper 文件会出错。

    实体符号表:

    < 小于 <
    > 大于 >
    >= 大于等于 >=
    <= 小于等于 <=