博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MyBatis 向Sql语句中动态传参数·动态SQL拼接
阅读量:6188 次
发布时间:2019-06-21

本文共 1861 字,大约阅读时间需要 6 分钟。

在动态传递参数的时候,需要用到OGNL表达式,不懂的童鞋可以下去百度,这里制作一个简要的介绍

在向XML文件传递参数的时候,需要用到sqlSession.selectList("Message.queryMessageList",message); message就是你要传递的参数。一般来说,这个message是一个对象,因为这里只能传递一个参数,而对象可以将很多参数封装起来。

XML文件接收到参数以后,会动态的执行Sql语句,但是具体要怎么传递参数呢,这就需要用到<if>标签来判断,但是在判断时,就需要用到OGNL表达式。关于OGNL我这里只列出基本的用法,见下图:

tips:OGNL中可以直接调用java中的函数和语法。

直接贴出例子:<if test="command!=null&amp;&amp;!&quot;&quot;.equals(command.trim())"> and COMMAND=#{command}</if>

&amp;是&的转义表达,&quot;是 " 的转义表达,#{command}表示这个值由Bean中的command表示。

这个表达式用java写出来就是:if (command != null && !"".equals(command.trim())) { * sql.append(" and COMMAND=?"); } ?表示被代替的位置。

 具体xml:

Bean文件

package com.daley.bean;/** * @author Daley * Date 2016-11-28 * project_name MicroMessage * 与消息表对应的实体类 */public class Message {	private String id;	private String command;	private String description;	private String content;	public Message(){			}	public String getId() {		return id;	}	public void setId(String id) {		this.id = id;	}	public String getCommand() {		return command;	}	public void setCommand(String command) {		this.command = command;	}	public String getDescription() {		return description;	}	public void setDescription(String description) {		this.description = description;	}	public String getContent() {		return content;	}	public void setContent(String content) {		this.content = content;	}}
这是一个简单的学习项目,如果想看具体的文件,可以访问我的github下载。这篇文章是承接 :
 

http://blog.csdn.net/sinat_32873711/article/details/53397594

XML标签

GitHub DemoZip地址https://github.com/DaleyChao/MicroMessage/archive/7008032e9381cea8d197dabff9625bb339713d1c.zip

GitHub项目地址:()https://github.com/DaleyChao/MicroMessage/tree/7008032e9381cea8d197dabff9625bb339713d1c

你可能感兴趣的文章
Java正则表达式,匹配、替换字符串中的占位符
查看>>
MIDP2.0中如何通过代码画半透明的圆和椭圆
查看>>
MySQL如何避免使用swap(2)
查看>>
华为TE30入会后有杂音电流声怎么解决?
查看>>
mac 控制台 not a valid identifier 命令报错
查看>>
日本企业RPA导入风险分析和解决对策
查看>>
浅谈微信公众号开发模式
查看>>
数据库表分割技术:水平分割、垂直分割、库表散列
查看>>
我的友情链接
查看>>
jQuery 学习笔记
查看>>
我的友情链接
查看>>
thymeleaf 基础语法
查看>>
C#枚举
查看>>
SoUI笔记
查看>>
Product offerings for vSphere 5.x (2001113)
查看>>
wlan网页登录认证原理
查看>>
ELK自定义字段 mapping
查看>>
跟我一起学QT12:基础排序/过滤模型之QSortFilterProxyModel的使用
查看>>
asp.net 实现进度条(已经验证)
查看>>
自学shell脚本(二)
查看>>