Java框架之MyBatis 07-动态SQL-缓存机制-逆向工程-分页插件

MyBatis   今天大年初一,你在学习!不学习做什么,斗地主...人都凑不齐。学习吧,学习使我快乐!除了诗和远方还有责任,我也想担当,我也想负责,可臣妾做不到啊,怎么办?你说怎么办,为啥人家能做到你做不到,因为人家比你多做了那么一点点。哪一点点?就那么一点点,只要你也多做那么一点点,不就做到了!...就那么一点点呀,我回顾SE去了。万丈高楼平地起,基础打的牢,怕什么狂风暴雨 MyBatis 动态SQL

  MyBatis为了解决通过一些不确定性的条件进行SQL语句的拼接操作的问题, 提供了动态SQL. 具体来说,就是提供了一些标签 <if> <where> <trim> <set> <choose> <foreach> 等.写出可扩展SQL语句

  MyBatis 采用功能强大的基于 OGNL 的表达式来简化操作

  OGNL( Object Graph Navigation Language )对象图导航语言,这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性。 类似于EL表达式,例:

    访问对象属性:              person.name

    调用方法:                     person.getName()

    调用静态属性/方法:     @java.lang.Math@PI    

    调用构造方法:              new com.bean.Person(‘admin’).name

    运算符:                         +,-*,/,%

    逻辑运算符:                  in,not in,>,>=,<,<=,==,!=

    注意:xml中特殊符号如”,>,<等这些都需要使用转义字符

 标签

   1) <if>:用于完成简单的判断.只有一个属性 test 用于判断条件是否成立

   2) <where>:在SQL语句中添加WHERE关键字, 作用:去掉 where 后面第一个条件前面的 and / or 。

<select id="getBook" resultType="main.beans.Book"> SELECT id,title,author,price FROM books <where> <if test="id != null"> and id= #{id}</if> <if test="title != null"> and title = #{title}</if> </where> </select>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysdyg.html