char类型在传参时接收不到数据的原因
mybatis的原因!!!!!
数据库这个样子
在postman中调用接口:SQL
select * from T_TRAIN_MARSHALLING where TRAIN_NUM is null and PRE_TRAIN_NUMBER is null and RECEIVE_SEND=#{RECEIVE_SEND}
union all
select * from T_TRAIN_MARSHALLING where TRAIN_NUM = #{TRAIN_NUM} and PRE_TRAIN_NUMBER is null
查询结果:
在SQLserver中的测试如下:
然后就开始找原因,解决方案就是加trim,这个很恶心,或者mybaits下就不要用char了
select * from T_TRAIN_MARSHALLING where TRAIN_NUM is null and PRE_TRAIN_NUMBER is null and trim(RECEIVE_SEND)=#{RECEIVE_SEND}
union all
select * from T_TRAIN_MARSHALLING where TRAIN_NUM = #{TRAIN_NUM} and PRE_TRAIN_NUMBER is null
<typeHandlers>
<!--Oracle CHAR fix -->
<typeHandler handler="cn.com.git.cbs.mybatis.typehandler.OracleCharStringTypeHandler" javaType="String" jdbcType="CHAR" />
</typeHandlers>
/*
* @author XueWeiWei
* @date 2019/8/14 14:01
*/
public class OracleCharStringTypeHandler implements TypeHandler<String> {
@Override
public void setParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {
OraclePreparedStatement ops = ps.unwrap(OraclePreparedStatement.class);
ops.setFixedCHAR(i, parameter);
}
}
char类型在传参时接收不到数据的原因的更多相关文章
- URL传参时中文参数乱码的解决方法
URL传参时,中文参数乱码的解决: 今天在工作中遇到了这样的一个问题,在页面之间跳转时,我将中文的参数放入到url中,使用location进行跳转传参,但是发现接收到的参数值是乱码.我的代码是这样写的 ...
- C++ 传参时传内置类型时用传值(pass by value)方式效率较高
来源:唐磊的个人博客<C++ 传参时传内置类型时用传值(pass by value)方式效率较高> 在<Effective C++>里提到对内置(C-like)类型在函数传参时 ...
- MyBatis中传参时为什么要用#{}
MyBatis中传参时为什么要用#{},这个问题和MyBatis如何防止SQL注入类似.不过在解释这个问题之前,先解释一下什么是SQL注入,还有些称作注入攻击这个问题. SQL注入就是SQL 对传入参 ...
- asp.net Get和Post传参和接收参数
asp.netGet和Post传参和接收参数 Get请求: 对于传参:test.aspx?name=%e5%bc%a0%e4%b8%89 接收参数的方法: Request.QueryString[&q ...
- .NET 内存基础(通过内存体验类型、传参、及装箱拆箱)
该随笔受启发于<CLR Via C#(第三版)>第四章4.4运行时的相互联系 一.内存分配的几个区域 1.线程栈 局部变量的值类型 和 局部变量中引用类型的指针(或称引用)会被分配到该区域 ...
- Mybatis 中在传参时,${} 和#{} 的区别
介绍 MyBatis中使用parameterType向SQL语句传参,parameterType后的类型可以是基本类型int,String,HashMap和java自定义类型. 在SQL中引用这些参数 ...
- vue 路由传参 、接收参数
传参组件 一. <router-link :to='"/main/course?navName=" +item.columnName + "&id=&quo ...
- axios的post传参时,将参数转为form表单格式
import axios from 'axios'; import alert from './alert.js'; import Qs from 'qs' //引入qs 时axios的自带模块 le ...
- RestTemplate post请求使用map传参 Controller 接收不到值的解决方案 postForObject方法源码解析.md
结论 post方法中如果使用map传参,需要使用MultiValueMap来传递 RestTemplate 的 postForObject 方法有四个参数 String url => 顾名思义 ...
随机推荐
- CAS机制是什么?有什么缺点,会出现什么问题
CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换. CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B. CAS的缺点: 1.CPU开销较大 在 ...
- git删除远程服务的文件夹
首先查看当前分支:git branch -a 删除缓存的idea:git rm --cached -r .idea 提交gitiginore文件,将.idea从源代码仓库中删除(-m 表示注解): ...
- openwrt usb
fdisk -l #以列表的形式,列出当前挂载盘的情况 for 属性规定 label 与哪个表单元素绑定 <form> <label for="male"> ...
- redis安装到本地服务的方法
要安装Redis,首先要获取安装包. Windows的Redis安装包需要到以下GitHub链接找到. 链接:https://github.com/MSOpenTech/redis 打开网站后,找到R ...
- Funcation:Object
ylbtech-Funcation:Object 1.返回顶部 1. public object GetMyRelation() { var list = new List<object> ...
- LeetCode 196. Delete Duplicate Emails (删除重复的电子邮箱)
题目标签: 题目给了我们一个 email 的表格,让我们删除重复的. 建立Person p1,Person p2,当email 相同时,而且 p1 id 要大于 p2 id 时候,删除这一行. Jav ...
- Hadoop国内主要发行版本
Hadoop主要版本 目前国内使用的不收费的Hadoop版本主要包括以下3个: Apache hadoop Cloudera的CDH Hortonworks版本(Hortonworks Data Pl ...
- JVM内核-原理、诊断与优化学习笔记(五):GC参数
文章目录 堆的回顾 串行收集器 并行收集器 ParNew(par-并行的缩写,new-新生代,所以只是新生代并行) Parallel收集器 参数设置 -XX:MaxGCPauseMills -XX:G ...
- ADIS16405BMLZ
GND,VCC,CS,DOUT,SCLK,DIN
- POJ 3761 Bubble Sort
题目链接:https://vjudge.net/problem/POJ-3761 转自:https://blog.csdn.net/cscj2010/article/details/7820906 题 ...