Mybatis 中的转义字符及常用查询
转译符
1、特殊字符转译
< < 小于
> > 大于
& & 与
' ’ 单引号
" " 双引号
需要注意的是分号是必不可少的。 比如 a > b 我们就写成 a > b
(分号需为英文状态下的,应为英文分号会将转译符直接显示为对应的符号,所以本文都是中文下的)
2、
在mybatis中这种符号将不会解析。如
常用的sql语句写法
1、模糊查询
user_name like CONCAT("%",#{userName},"%") and
2、月份查询
输入月份(2019-01),查找属于这个月份的记录
DATE_FORMAT(start_time,'%Y-%m') DATE_FORMAT(#{theMonth},'%Y-%m')
and
DATE_FORMAT(end_time,'%Y-%m') = ]]>DATE_FORMAT( #{theMonth},'%Y-%m')
and
2019-01-01 00:00:00 >= '2019-01’不成立。
因为数据库数据是一月一号,2019-01-01当然比2019-01大,所以直接查找是找不到数据的,因此需要用DATE_FORMAT函数将时间格式化为2019-01-00 00:00:00 再去对比。2019-01-00 00:00:00 >= ‘2019-01’ 成立
DATE_FORMAT常用的正则表达式(%Y-%m-%d %H:%i:%S)
3、时间区间查找
查找数据库记录的创建时间在要查找的时间区间内的数据
create_time =]]>#{startTime}
and
create_time #{endTime}
如果数据库的时间和输入查询条件的时间精度不一致时也需要如上格式化
4、批量添加
parameterType="com.safety.exam.entity.MessageReceive"
useGeneratedKeys="true" keyProperty="id">
insert into
user
name,
age
values
separator=",">
#{item.name},
#{item.age},
相当于insert into user (name,age)values (张,20),(李,21),(王,22)·····
5、批量更新
parameterType="com.safety.exam.entity.StaffAccount"
useGeneratedKeys="true" keyProperty="id">
update user set
name =
open="case id" close="end">
when #{item.id} then #{item.name}
,
age =无锡人流多少钱 http://www.bhnfkyy.com/
open="case id" close="end">
when #{item.id} then #{item.age}
where id in
separator="," open="(" close=")">
#{item.id}
注意: set关键字只有一个;每个foreach之间有个逗号。
最后sql是这样:
UPDATE categories SET
display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END,
title = CASE id
WHEN 1 THEN 'New Title 1'
WHEN 2 THEN 'New Title 2'
WHEN 3 THEN 'New Title 3'
END
WHERE id IN (1,2,3)
Mybatis 中的转义字符及常用查询的更多相关文章
- mybatis中_parameter使用和常用sql
mybatis中_parameter使用和常用sql mybatis中_parameter使用和常用sql 在用自动生成工具生成的mybatis代码中,总是能看到这样的情况,如下: <sel ...
- Mybatis 中的转义字符
记录以下mybatis中的转义字符,方便以后自己看一下 Mybatis转义字符表 < < 小于 > > 大于 & & 与 ' ' 单引号 &q ...
- Mybatis中动态SQL多条件查询
Mybatis中动态SQL多条件查询 mybatis中用于实现动态SQL的元素有: if:用if实现条件的选择,用于定义where的字句的条件. choose(when otherwise)相当于Ja ...
- Mybatis 中的转义字符(转帖)
下文来自:https://www.cnblogs.com/dato/p/7028723.html 在此感谢作者的辛勤付出. 记录以下mybatis中的转义字符,方便以后自己看一下 Mybatis转义 ...
- Mybatis中多表联查,查询出来的字段出现重名,造成数据异常的解决方法!
在做一对多出现的问题,引发的思考:当数据库表中,主表的主键id和明细表的中的字段名相同时怎么办?Mybatis进行自动映射赋值的时候会不会出现异常? 注意:M ...
- Mybatis笔记四:Mybatis中的resultType和resultMap查询操作实例详解
resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题.比 ...
- Mybatis中的关联映射和查询
一.商品订单数据模型 1.数据表 这里定义了四个表,分别表示用户,商品,订单,和订单详情. 用户表user CREATE TABLE `user` ( `id` int(11) NOT NULL AU ...
- mybatis的xml中特殊转义字符和模糊查询like的写法
做个备忘: xml特殊符号转义写法 < < > > <> <> & & &ap ...
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
今天把notice表中的content字段改为long字段后,含有该字段的使用CTE的查询语句报错了.提示一下错误 ### Cause: java.sql.SQLException: 流已被关闭 ; ...
随机推荐
- Android外接USB扫码枪
公司的设备以前接入的都是串口的扫码头,优点是直接通过串口读取流里面的数据就OK了,缺点是你需要知道每一款扫码器的型号以获取波特率及Android设备的串口地址.因为现在usb扫码器越来越方便且即插即用 ...
- spark跑YARN模式或Client模式提交任务不成功(application state: ACCEPTED)(转)
不多说,直接上干货! 问题详情 电脑8G,目前搭建3节点的spark集群,采用YARN模式. master分配2G,slave1分配1G,slave2分配1G.(在安装虚拟机时) export SPA ...
- SwiftUI or Flutter ?
看到这篇好文,忍不住想分享一下 本文转自https://juejin.im/post/5d05b45bf265da1bcc193ff4 版权归原文所有 ------------------------ ...
- 【转载】 tf.ConfigProto和tf.GPUOptions用法总结
原文地址: https://blog.csdn.net/C_chuxin/article/details/84990176 -------------------------------------- ...
- fatal error: linux/videodev.h: No such file or directory
Run Build Command:"/usr/bin/make" "cmTC_162a3/fast"/usr/bin/make -f CMakeFiles/c ...
- WeQuant教程—1.4 实践教学:比特币量化定投
在wequant.io,为了让读者能直接体验量化系统的魅力,我们用前面的思路,实现了一套完整的量化系统和回测工具,这个系统非常简单,用户只需要把交易意志用策略表达出来,系统就可以自己完成交易效果的回 ...
- Centos7中rc.local设置springboot项目开机自启动
在Centos7下,rc.local文件,开机默认是不执行的 1.进入rc.local中 路径如下图
- linux 安装 btrace
1.下载btrace https://github.com/btraceio/btrace/releases/download/v1.3.8.3-1/btrace-bin-1.3.8.3.tgz2.上 ...
- spark 读写text,csv,json,parquet
以下代码演示的是spark读取 text,csv,json,parquet格式的file 为dataframe, 将dataframe保存为对应格式的文件 package com.jason.spar ...
- git merge合并分支; already up to date 现象, merger算法
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA% ...