记录一次 sql在数据库可以查到 mybatis代码查不到的问题
原始代码:
查不到
SELECT
b.ID,
b.PRICE_ITEM_CODE,
b.PRICE_NAME,
b.DES_SITE_CODE,
b.SRC_SITE_CODE,
b.CALC_TYPE,
b.BIZ_TYPE,
b.CACULATE_MODE,
b.PRODUCT_CODE,
b.PRODUCT_EFFECT,
b.DIS_TYPE,
b.START_DATE,
b.END_DATE,
b.CREATE_DATE,
b.MODIFY_DATE,
b.CREATE_USER_CODE,
b.MODIFY_USER_CODE,
b.AUDIT_STATUS,
b.AUDIT_USER_CODE,
b.AUDIT_DATE,
b.AUDIT_OPINION,
b.RELE_SITE_CODE,
b.REMARKS,
b.AUDIT_KINDS,
b.OFFER_STATUS
FROM
T_FOMF_SUPPER_PRICE_MAIN_AD b
WHERE
1=1
<!-- AND b.PRICE_ITEM_CODE = '557' 写死可以查到 -->
<!-- 计费类型 -->
<trim></trim>
<if test="priceItemCode != null and priceItemCode !=''" >
AND b.PRICE_ITEM_CODE = #{priceItemCode,jdbcType=VARCHAR}
</if>
问题所在:PRICE_ITEM_CODE 字段的类型为 CHAR(5)导致
由于不满足5个长度会自动补,导致查不到。
解决方式: 加trim SELECT
b.ID,
b.PRICE_ITEM_CODE,
b.PRICE_NAME,
b.DES_SITE_CODE,
b.SRC_SITE_CODE,
b.CALC_TYPE,
b.BIZ_TYPE,
b.CACULATE_MODE,
b.PRODUCT_CODE,
b.PRODUCT_EFFECT,
b.DIS_TYPE,
b.START_DATE,
b.END_DATE,
b.CREATE_DATE,
b.MODIFY_DATE,
b.CREATE_USER_CODE,
b.MODIFY_USER_CODE,
b.AUDIT_STATUS,
b.AUDIT_USER_CODE,
b.AUDIT_DATE,
b.AUDIT_OPINION,
b.RELE_SITE_CODE,
b.REMARKS,
b.AUDIT_KINDS,
b.OFFER_STATUS
FROM
T_FOMF_SUPPER_PRICE_MAIN_AD b
WHERE
1=1
<!-- AND b.PRICE_ITEM_CODE = '557' -->
<!-- 计费类型 -->
<if test="priceItemCode != null and priceItemCode !=''" >
AND trim(b.PRICE_ITEM_CODE) = #{priceItemCode,jdbcType=VARCHAR}
</if>
记录一次 sql在数据库可以查到 mybatis代码查不到的问题的更多相关文章
- JDBC连接sql server数据库的详细步骤和代码
JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...
- JDBC连接sql server数据库的详细步骤和代码 转
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.C ...
- SQL server数据库的链接以及增删改查的操作
1.添加引用using System.Data;using System.Data.SqlData;2.建立于数据库的连接,建议将它做成一个方法,方便多次利用.string sqlconnection ...
- SQL Server 数据库开启日志CDC记录,导致SQL Server 数据库日志异常增大
这几天单位的SQL Server业务数据生产库出现数据库日志增长迅速,导致最终数据无法写入数据库,业务系统提示"数据库事务日志已满",经过多方咨询和请教,终于将日志异常的数据库处理 ...
- 使用sql对数据库进行简单的增删改查
1.创建表 create table 表名( 列名 列的类型, 列名 列的类型, 列名 列的类型 (注意自后一列不能加‘ ,’) ); 2.修改表 修改表名--> rename 旧表名 t ...
- MS SQL SERVER 数据库日志压缩方法与代码
MS SQL性能是很不错的,但是数据库用了一段时间之后,数据库却变得很大,实际的数据量不大.一般都是数据库日志引起的!数据库日志的增长可以达到好几百M. DUMP TRANSACTION [数据库名] ...
- SQL Server数据库多种方式查找重复记录
摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重 ...
- 基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合
在上一篇<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>中完成了使用JPA对实体数据的CRUD操作. 那么,有些情况,会把一些查询语句写在存储过程中,由 ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
随机推荐
- C# 字符串操作,可空类型,文档注释,嵌套类型
字符串 字符串是Unicode字符串数组,且是不可变的 这种操作不会影响到原来的字符串,它会新添加一个副本. 有关Split的操作 using System; using System.Collect ...
- HDU - 4699 对顶栈
Get到了全新O(1)替代部分伸展树功能的姿势 左栈stk1维护当前信息,右栈stk2维护历史删除信息 题目求的是严格的前缀和(且小于当前指针)那就每次左栈新增时再更新前缀和信息就好 即使把题面换成最 ...
- dapper源码(.net 4.0)
http://blog.csdn.net/ahshow/article/details/42773929
- 获取数组中多个相加等于0的一组数字 javascript
//获取数组中两个相加等于0的一对数字,比如[ [ -10, 10 ], [ -5, 5 ] ] var arr=[-5,10,1,-10,3,4,5,9] //对数组进行排序 arr.sort(fu ...
- linux驱动之设备模型
linux 设备驱动模型 inux2.6提供了新的设备模型:总线.驱动.设备.基本关系简要的概括如下: 驱动核心可以注册多种类型的总线. 每种总线下面可以挂载许多设备.(通过kset devices) ...
- base64的python实现
写了一个函数,自己按照base64的规则转换一个字符串. # /usr/bin/python # encoding: utf-8 base64_table = ['A', 'B', 'C', 'D', ...
- get 与 post 区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...
- MySQL主从复制,以及双机热备
MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的拓展.多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负载性能. 下图就描述了一个多个数 ...
- spring框架中由FactoryBean获取JedisCluster实例
spring配置文件: <bean id="jedisCluster" class="com.pingan.ela.structure.ex.JedisCluste ...
- 创建bat文件打开指定目录的cmd窗口
默认的 cmd打开的是用户目录,如下: 有时,这样非常不方便,还得不断的cd到我们要使用的目录,例如,我们想改成默认制定的目录是D盘的cmd窗口 代码如下: cmd /k cd/d " ...