爱生活,爱分享


Mybatis中xml的一些用法

haiten 2020-06-16 594浏览 0条评论
首页/正文
分享到: / / / /

一、在Mybatis的xml文件调用java类的方法

在mybatis的映射xml文件调用java类的方法:

使用的是OGNL表达式,表达式格式为:${@prefix@methodName(传递参数名称)}

1、如下代码所示:方法必须为静态方法:

SELECT * FROM USER WHERE name='${@org.apache.commons.lang3@StringUtils(name)}' 

2、获取类里面的常量,获取的格式和上面一样,第二个@是常量 :

${@classpath@ static const name}

3、判断变量

<if test="@org.apache.commons.lang.StringUtils@isNotBlank(str)">
<if test="@org.apache.commons.collections4.CollectionUtils@isNotEmpty(list)">

二、Mybatis在xml文件中处理大于号小于号的方法

1、第一种方法:

用转义字符把">"和"<"替换掉,就没有问题了。

mapper文件示例代码:

<if test="startTime != null ">
    AND order_date &gt;= #{startTime,jdbcType=DATE} 
</if>
<if test="endTime != null ">
    AND order_date &lt;= #{endTime,jdbcType=DATE} 
</if>

附:XML转义字符

符号 转义 描述
< < 小于号
> > 大于号
& &
' 单引号
" " 双引号

2、第二种方法:

因为这个是xml格式的,所以不允许出现类似">"这样的字符,但是可以使用 符号进行说明,将此类符号不进行解析。

mapper文件示例代码:

<if test="startTime != null ">
    AND <![CDATA[ order_date >= #{startTime,jdbcType=DATE}  ]]>
</if>
<if test="endTime != null ">
    AND <![CDATA[ order_date <= #{endTime,jdbcType=DATE}  ]]>
</if>

三、Mybatis在xml文件中的sql标签引用

用来封装SQL语句, 来调用,如果用了refid="base_column_list"则:

1、首先定义一个sql标签,一定要定义唯一id字段名1,字段名2

2、然后通过id引用

<select id="selectAll">
select 
<include refid="Base_Column_List" />
    from 表名
</select>

这时会自动把上面的代码贴过来。

数据库中查询的语句就可以解析为:select 字段名1,字段名2 from 表名。

原文链接:如何在Mybatis的xml文件调用java类的方法

原文链接:Mybatis在xml文件中处理大于号小于号的方法

原文链接:Mybatis 之数据库 include refid ="base_column_list"

转载仅为方便学习查看,一切权利属于原作者,本人只是做了整理和排版,如果带来不便请联系我删除。

最后修改:2020-06-16 13:03:47 © 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

上一篇

发表评论

说点什么吧~

评论列表

还没有人评论哦~赶快抢占沙发吧~