目录
- 1. 动态sql简述
- 2. 动态sql示例
- 2.1 if
- 2.2 choose
- 2.3 foreach
- 2.4 sql 及 include
- 2.5 sql中的特殊字符
- 3. 后台分页实现
- 4. 数据版本号处理并发问题
1. 动态sql简述
mybatis的动态sql语句是基于OGNL表达式的。可以方便的在sql语句中实现某些逻辑. 总体说来mybatis动态SQL语句主要有以下几类:
- if 语句 (简单的条件判断)
- choose (when,otherwize) ,相当于java 语言中的 switch ,与 jstl 中的choose 很类似
- trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀)
- where (主要是用来简化sql语句中where条件判断的,能智能的处理 and or ,不必担心多余导致语法错误)
- set (主要用于更新时)
- foreach (在实现 mybatis in 语句查询时特别有用)
2. 动态sql示例
2.1 if
以修改功能为例,演示if的用法
1)mapper层(即Dao层)
2)在service层增加对应的方法
3)在测试类中加入对应的方法进行测试
2.2 choose
以查询功能为例,演示choose
1)mapper层
2)在service层增加对应的方法
3)在测试类中加入对应的方法进行