java mybatis 之 mysqlmap 动态 sql 语句
2016-03-18 17:49
323 查看
mybatis 将 sql 语句以配置的方式与执行环境独立开来,以达到动态替换的效果。这种可配置式的 sql 语句比较灵活,sql 语句的 where 条件中当一个字段传入的字为空时可以不进行比较,这就是 <isNotEmpty> 标签的作用。
如:
上面的配置中,<isNotEmpty> 意即当某个字段不为空时,才进行比较。
<dynamic> 标签意即,where 里面的节点是动态的,它的作用在于: 第一个 <isNotEmpty> 字段前段不会添加 and,这样才不会发生 sql 语句的错误。
当所有字段都是 null 时,sql 语句会发生错误,因为 where 后面没有加入任何比较的条件语句了。
如何解决这种问题呢?可以将 <dynamic> 去掉,解决方案如下:
如:
上面的配置中,<isNotEmpty> 意即当某个字段不为空时,才进行比较。
<dynamic> 标签意即,where 里面的节点是动态的,它的作用在于: 第一个 <isNotEmpty> 字段前段不会添加 and,这样才不会发生 sql 语句的错误。
当所有字段都是 null 时,sql 语句会发生错误,因为 where 后面没有加入任何比较的条件语句了。
如何解决这种问题呢?可以将 <dynamic> 去掉,解决方案如下:
相关文章推荐
- 怎样增强MyEclipse的代码自动提示功能
- SpringMVC那点事
- Java并发 线程池
- Spring MVC里面的预防 SQL 注入
- java读写excel文件
- SpringMVC定义Interceptor
- json与javaBean的序列化与反序列化(待续...)
- Struts 2 和 JSF 的区别
- Eclipse关于设置code style的问题
- spring ioc(反转控制)
- jdk 编译器 对final字段的处理
- Java第二次实验
- Java第二次实验
- struts2
- Java synchronized
- JAVA 第二次作业
- java nio整理
- Spring Boot 使用 Druid 和监控配置
- 使用spring boot快速构建spring框架的maven项目
- Thinking in java 笔记1