myBatis的bind的标签,一般的用法都是

<if test="name!= null and name!= '' ">
  <bind name="userLike" value=" '%' + name+ '%' "/>
  and user_name like #{userLike}
</if>

  

但是,当bind和OGNL结合使用时,用处还是大大的

ognl的用法借用这位的文章 https://www.cnblogs.com/wgj-master/p/7891289.html

MyBatis常用的OGNL

e1 or e2
e1 and e2
e1 == e2,e1 eq e2
e1 != e2,e1 neq e2
e1 lt e2:小于
e1 lte e2:小于等于,其他gt(大于),gte(大于等于)
e1 in e2
e1 not in e2
e1 + e2,e1 * e2,e1/e2,e1 - e2,e1%e2
!e,not e:非,求反
e.method(args)调用对象方法
e.property对象属性值
e1[ e2 ]按索引取值,List,数组和Map
@class@method(args)调用类的静态方法
@class@field调用类的静态字段值

  

例:

  <bind name="xxx"  value="@com.xx.mybaits.Abc@aa(item, 'a','b')"/>

这里xxx为bind的名字,item为mapper传递的参数,后面为传的字符串

通过bind,我们可以通过java代码设置自定义的值,也可以进行一些判断,如果不符合判断,抛出异常,还是很灵活的

Myatis之bind标签的更多相关文章

  1. Myatis中的OGNL和bind标签的结合用法

    1.MyBatis常用的OGNL e1 or e2 e1 and e2 e1 == e2,e1 eq e2 e1 != e2,e1 neq e2 e1 lt e2:小于 e1 lte e2:小于等于, ...

  2. Mybatis学习笔记16 - bind标签

    1.${}拼串进行模糊查询,不安全 示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import java ...

  3. MyBatis bind标签的用法

    From<MyBatis从入门到精通> <!-- 4.5 bind用法 bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中. 需求: concat函数连接字符串,在M ...

  4. mybatis bind标签

    开门见山的说,平时写模糊查询,一直用${name},例如: select * from table where name like '%${name}%' 后来知道了,这样写可能会引发sql注入,于是 ...

  5. mybatis bind 标签

    bind 标签可以使用 OGNL 表达式创建一个变量井将其绑定到上下文中.在前面的例子中, UserMapper.xml 有一个 selectByUser 方法,这个方法用到了 like 查询条件,部 ...

  6. mybaits模糊查询使用<bind>标签

    <select id="selectBlogsLike" resultType="Blog"> <bind name="patter ...

  7. mybaitis动态sql利用bind标签代替%拼接完成模糊查询

    Oracle中使用bind的写法 <select id="selectUser" resultType="user" parameterType=&quo ...

  8. bind标签_databaseId标签,_parameter标签的使用

    1.在接口写方法 public List<Employee> getEmpsTestInnerParameter(Employee employee); 2在映射文件中进行配置 <s ...

  9. bind 标签

    <select id="finduserbylikename"  parameterType="string"  resultMap="cour ...

随机推荐

  1. mysql使用慢查询日志分析数据执行情况

    #查询慢查询日志文件路径show variables like '%slow_query%';#开启慢查询日志 ; #设置慢查询阀值为0,将所有的语句都记入慢查询日志 ;#未使用索引的查询也被记录到慢 ...

  2. 阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]

    阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110] 一.总 ...

  3. yarn 单点故障 重启 ResourceManger Restart

    http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html Featur ...

  4. Ionic4.x 中自定义公共模块

    1.创建公共模块以及组件 ionic g module module/slide ionic g component module/slide 2.公共模块 slide.module.ts 中暴露对应 ...

  5. Linux输出信息并将信息记录到文件(tee命令)

    摘自:https://www.jb51.net/article/104846.htm 前言 最近工作中遇到一个需求,需要将程序的输出写到终端,同时写入文件,通过查找相关的资料,发现可以用 tee 命令 ...

  6. Qt编写自定义控件51-可输入仪表盘

    一.前言 这个控件是近期定制的控件,还是比较实用的控件之一,用户主要是提了三点需求,一点是切换焦点的时候控件放大突出显示,一点是可直接输入或者编辑值,还有一点是支持上下键及翻页键和鼠标滚轮来动态修改值 ...

  7. Mysql的安全配置向导命令mysql_secure_installation

    mysql_secure_installation安全配置向导 [root@youxi1 ~]# mysql_secure_installation Securing the MySQL server ...

  8. LeetCode_190. Reverse Bits

    190. Reverse Bits Easy Reverse bits of a given 32 bits unsigned integer. Example 1: Input: 000000101 ...

  9. AFNetWorking实现参数以body传输请求数据

    /** * 异步POST请求:以body方式,支持数组 * * @param url 请求的url * @param body body数据 * @param success 成功回调 * @para ...

  10. Tesnsorflow命名空间与变量管理参数reuse

    一.TensorFlow中变量管理reuse参数的使用 1.TensorFlow用于变量管理的函数主要有两个:  (1)tf.get_variable:用于创建或获取变量的值  (2)tf.varia ...