一、在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 >= #{startTime,jdbcType=DATE}
</if>
<if test="endTime != null ">
AND order_date <= #{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
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论