记录一次 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 数据库即存放数据的仓库, ...
随机推荐
- [微信小程序] -- wxss引用外部css文件及iconfont
小程序引入外部文件的方式是: 只需要在其css文件写上: @import "外部css地址.wxss"; 因为项目需要, 小程序中需要使用iconfont , 很容易就想到了H5的 ...
- PHP_$_SERVER中QUERY_STRING,REQUEST_URI的用法
$_SERVER存储当前服务器信息,其中有几个值如 $_SERVER["QUERY_STRING"], $_SERVER["REQUEST_URI"], $_S ...
- Selenium WebDriver 中鼠标和键盘事件分析及扩展
[From] http://www.51testing.com/html/18/631118-861557.html 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和 ...
- server 2012 R2查询端口
1. win+r弹出运行对话框,输入cmd,打开cmd窗口 netstat -ano | findstr "80" (注80是你想要看查看的端口号) 就会输出包含80端口使用的情况 ...
- nodejs 休眠 / 暂停执行指定毫秒
//************** 暂停 / 休眠指定毫秒值 *********************************// milliSeconds 暂停 / 休眠多少毫秒async func ...
- postgresql数据库primary key约束/not null约束/unique约束及default值的添加与删除、列的新增/删除/重命名/数据类型的更改
如果在建表时没有加primary key约束.not null约束.unique约束.default值,而是创建完表之后在某个字段添加的话 1.primary key约束的添加与删除 给red_pac ...
- 3.CAS原子操作
什么是原子性操作,按照官方的解析:原子操作不能在一个中间操作中停止,要么全部成功要么全部失败.(An atomic action cannot stop in the middle: it eithe ...
- 使用Redis 配置替换fastjson 反序列化报错 com.alibaba.fastjson.JSONException: autoType is not support
新建的GenericFastJson2JsonRedisSerializer里面添加白名 添加: static { ParserConfig.getGlobalInstance().ad ...
- TOJ 3635 过山车
Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找 个个男生做partne ...
- [转]MVC+JQuery validate实现用户输入验证
本文转自:http://www.cnblogs.com/ahui/archive/2010/10/08/1845677.html MVC服务器端: 1.在controller中验证用户输入,如果验证失 ...