Mybatis特殊字符处理的详解
前言:
Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理,这里提供了解决办法及实例,大家可以参考下:
一、问题描述:
查询时,需要获取时间区间内的数据,如下:
<if test="startTime != null" > and l.CREATE_TIME >= #{startTime} </if> <if test="endTime != null" > and l.CREATE_TIME < #{endTime} </if>
但是,Mybatis中xml 文件中,查询是不能使用小于号(<)的,因为这属于开始标签,是特殊字符
二、解决方案
在查询中,使用CDATA包括起来,就能避免特殊字符了。这方法适用所有的特殊字符。
<![CDATA[ ]]>
示例如下:
<if test="startTime != null" > <![CDATA[ and l.CREATE_TIME >= #{startTime} ]]> </if> <if test="endTime != null" > <![CDATA[ and l.CREATE_TIME < #{endTime} ]]> </if>
MyBatis返回主键,MyBatis Insert操作返回主键:
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
Spring MVC+mybatis实现注册登录功能
本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下 前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee&q
-
mybatis如何通过接口查找对应的mapper.xml及方法执行详解
本文主要介绍的是关于mybatis通过接口查找对应mapper.xml及方法执行的相关内容,下面话不多说,来看看详细的介绍: 在使用mybatis的时候,有一种方式是 BookMapper bookMapper = SqlSession().getMapper(BookMapper.class) 获取接口,然后调用接口的方法.只要方法名和对应的mapper.xml中的id名字相同,就可以执行sql. 那么接口是如何与mapper.xml对应的呢? 首先看下,在getMapper()方法是如何操作
-
Spring MVC+MyBatis+MySQL实现分页功能实例
前言 最近因为工作的原因,在使用SSM框架实现一个商品信息展示的功能,商品的数据较多,不免用到分页,查了一番MyBatis分页的做法,终于是实现了,在这里记录下来分享给大家,下面来一起看看详细的介绍: 方法如下: 首先写一个分页的工具类,定义当前页数,总页数,每页显示多少等属性. /** * 分页 工具类 */ public class Page implements Serializable { private static final long serialVersionUID = -22
-
mybatis 插件: 打印 sql 及其执行时间实现方法
Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用: Executor(update.query.flushStatements.commint.rollback.getTransaction.close.isClosed) ParameterHandler(getParameterObject.setParameters) ResultSetHandler(handleResult
-
Mybatis choose when用法实例代码
mybatis choose when的用法实现代码如下所示: mapper.xml: <select id="query" resultType="map" parameterType="map"> select <choose> <when test="cityId == '00' "> a.city_id as CITYID, </when> <otherwise&g
-
MyBatis接口的简单实现原理分析
用过MyBatis3的人可能会觉得为什么MyBatis的Mapper接口没有实现类,但是可以直接用? 那是因为MyBatis使用Java动态代理实现的接口. 这里仅仅举个简单例子来说明原理,不是完全针对MyBatis的,这种思想我们也可以应用在其他地方. 定义一个接口 public interface MethodInterface { String helloWorld(); } 实现动态代理接口 public class MethodProxy<T> implements Invocati
-
Mybatis特殊字符处理的详解
前言: Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理,这里提供了解决办法及实例,大家可以参考下: 一.问题描述: 查询时,需要获取时间区间内的数据,如下: <if test="startTime != null" > and l.CREATE_TIME >= #{startTime} </if> <if test="endTime != null" > and l.CREATE_TIME < #
-
MyBatis的foreach语句详解
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有 item,index,collection,open,separator,close.item表示集合中每一个元素进行迭代时的别名,index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符,close表示以什么结束,在使用foreach的时候最关键的也是最容易出错的就是collectio
-
mybatis分页插件pageHelper详解及简单实例
mybatis分页插件pageHelper详解及简单实例 工作的框架spring springmvc mybatis3 首先使用分页插件必须先引入maven依赖,在pom.xml中添加如下 <!-- 分页助手 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>3.7.5
-
Mybatis映射文件实例详解
一.输入映射 parameterType 指定输入参数的Java类型,可以使用别名或者类的全限定名.它可以接收简单类型.POJO.HashMap. 1.传递简单类型 根据用户ID查询用户信息: <select id="findUserById" parameterType="int" resultType="com.itheima.mybatis.po.User"> SELECT * FROM USER WHERE id =#{id
-
Mybatis中 XML配置详解
Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > <configuration> <
-
springmvc与mybatis集成配置实例详解
简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求.闲暇时间把项目配置文件共享出来,供大家参看: 1.首先我们来看下依赖的pom: <!-- spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring.ve
-
SpringBoot整合MyBatis逆向工程及 MyBatis通用Mapper实例详解
一.添加所需依赖,当前完整的pom文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&q
-
mybatis的动态sql详解(精)
MyBatis 的一个强大的特性之一通常是它的动态 SQL 能力.如果你有使用 JDBC 或其他 相似框架的经验,你就明白条件地串联 SQL 字符串在一起是多么的痛苦,确保不能忘了空 格或在列表的最后省略逗号.动态 SQL 可以彻底处理这种痛苦. 通常使用动态SQL不可能是独立的一部分,MyBatis当然使用一种强大的动态SQL语言来改进这种情形,这种语言可以被用在任意映射的SQL语句中. 动态SQL元素和使用 JSTL或其他相似的基于XML的文本处理器相似.在MyBatis之前的版本中,有很多
-
MyBatis查询缓存实例详解
查询缓存的使用,主要是为了提高查询访问速度.将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度. MyBatis的查询缓存机制,根据缓存区的作用域(生命周期)可划分为两种:一级缓存与二级缓存 一.一级查询缓存 MyBatis一级缓存是基于org.apache.ibatis.cache.impl.PerpetualCache类的HashMap本地缓存,其作用域是Sqlsession.在同一个Sqlsession中两次执行相同的sql语句,第一次执行完毕后,会将
-
SpringBoot 使用Mybatis分页插件实现详解
这篇文章主要介绍了SpringBoot 使用Mybatis分页插件实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.导入分页插件包和jpa包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </depende
随机推荐
- Discuz5.5.0代码高亮显示+运行代码框合成插件 下载第1/4页
- 通过短信发送LOG归类号码发送情况的shell脚本
- jQuery使用手册之 事件处理
- java中synchronized(同步代码块和同步方法)详解及区别
- Java多线程之readwritelock读写分离的实现代码
- Python 基础教程之str和repr的详解
- 详解.net循环、逻辑语句块(基础知识)
- 解读ASP.NET 5 & MVC6系列教程(8):Session与Caching
- XenServer 虚拟机扩容LVM磁盘分区的方法
- 在PHP中利用wsdl创建标准webservice的实现代码
- JS绘制微信小程序画布时钟
- JS获取浮动(float)元素的style.left值为空的快速解决办法
- MFC扩展DLL中导出类和对话框的实现方法
- 深入理解java中的拷贝机制
- Centos下配置Redis开机启动脚本
- c++版线程池和任务池示例
- C#运算符重载用法实例分析
- 创建数据库php代码 用PHP写出自己的BLOG系统
- gradle+shell实现自动系统签名
- JavaSE图像验证码简单识别程序详解