欢迎来到天天文库
浏览记录
ID:59120453
大小:40.50 KB
页数:7页
时间:2020-09-15
《mybatis实战教程之八动态sql语句.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、mybatis实战教程(mybatisinaction)之八:mybatis动态sql语句mybatis的动态sql语句是基于OGNL表达式的。可以方便的在sql语句中实现某些逻辑.总体说来mybatis动态SQL语句主要有以下几类:1.if语句(简单的条件判断)2.choose(when,otherwize),相当于java语言中的switch,与jstl中的choose很类似.3.trim(对包含的内容加上prefix,或者suffix等,前缀,后缀)4.where(主要是用来简化sql语句中where条件判断的,能智能的处理andor
2、,不必担心多余导致语法错误)5.set(主要用于更新时)6.foreach(在实现mybatisin语句查询时特别有用)下面分别介绍这几种处理方式1.mybaitsif语句处理 程序代码 select*fromt_blogwhere1=1 andtitle=#{title} 3、t="content!=null"> andcontent=#{content} andowner=#{owner} 这条语句的意思非常简单,如果你提供了title参数,那么就要满足title=#{title},同样如果你提供了Content和Owner的时候,它们也需要满足相应的条件,之后就是返回满足这些条件的所有Blog,这是非常有用的一个功能,以往我们使用其他类型框架或4、者直接使用JDBC的时候,如果我们要达到同样的选择效果的时候,我们就需要拼SQL语句,这是极其麻烦的,比起来,上述的动态SQL就要简单多了2.2.choose(when,otherwize),相当于java语言中的switch,与jstl中的choose很类似 程序代码 select*fromt_blogwhere1=1 5、="title!=null"> andtitle=#{title} andcontent=#{content} andowner="owner1" when元素表示当whe6、n中的条件满足的时候就输出其中的内容,跟JAVA中的switch效果差不多的是按照条件的顺序,当when中有条件满足的时候,就会跳出choose,即所有的when和otherwise条件中,只有一个会输出,当所有的我很条件都不满足的时候就输出otherwise中的内容。所以上述语句的意思非常简单,当title!=null的时候就输出andtitlte=#{title},不再往下判断条件,当title为空且content!=null的时候就输出andcontent=#{content},当所有条件都不满足的时候就输出otherwise中的内容7、。3.trim(对包含的内容加上prefix,或者suffix等,前缀,后缀) 程序代码 select*fromt_blog 8、or"> title=#{title} 9、 andcontent=#{content}
3、t="content!=null"> andcontent=#{content} andowner=#{owner} 这条语句的意思非常简单,如果你提供了title参数,那么就要满足title=#{title},同样如果你提供了Content和Owner的时候,它们也需要满足相应的条件,之后就是返回满足这些条件的所有Blog,这是非常有用的一个功能,以往我们使用其他类型框架或
4、者直接使用JDBC的时候,如果我们要达到同样的选择效果的时候,我们就需要拼SQL语句,这是极其麻烦的,比起来,上述的动态SQL就要简单多了2.2.choose(when,otherwize),相当于java语言中的switch,与jstl中的choose很类似 程序代码 select*fromt_blogwhere1=1 5、="title!=null"> andtitle=#{title} andcontent=#{content} andowner="owner1" when元素表示当whe
5、="title!=null"> andtitle=#{title} andcontent=#{content} andowner="owner1"
6、n中的条件满足的时候就输出其中的内容,跟JAVA中的switch效果差不多的是按照条件的顺序,当when中有条件满足的时候,就会跳出choose,即所有的when和otherwise条件中,只有一个会输出,当所有的我很条件都不满足的时候就输出otherwise中的内容。所以上述语句的意思非常简单,当title!=null的时候就输出andtitlte=#{title},不再往下判断条件,当title为空且content!=null的时候就输出andcontent=#{content},当所有条件都不满足的时候就输出otherwise中的内容
7、。3.trim(对包含的内容加上prefix,或者suffix等,前缀,后缀) 程序代码 select*fromt_blog 8、or"> title=#{title} 9、 andcontent=#{content}
8、or"> title=#{title}
9、 andcontent=#{content}
此文档下载收益归作者所有