Mybatis查询在数据库中有但在代码中没有

摘要:
原查询语句如下:(为了保密性,将敏感的包名给马赛克了。)此sql可以在plsql中正确执行,但是查询不到数据。

代码是这样的:

HashMap<String, Object> param = new HashMap<String, Object>();
param.put("ystJg", ystJg);
List<xtglbm> ystjg = bd.getYstJg(param);

Mapper是这样的
<select parameterType="java.util.HashMap"
resultType="com.aisino.nssb.core.xtglbm.model.xtglbm">
select * from BM m where m.BZ = '0' start with
m.MID= ${ystJg} connect by m.sjmid = PRIOR m.MID
</select>

用Map put变量查询的时候,用${}

借鉴的文章:

今天用mybatis查询语句的时候,控制台输出的sql语句可以在plsql里面可以正确执行,但是查询出来就是没有数据。
原查询语句如下:(为了保密性,将敏感的包名给马赛克了。)

Mybatis查询在数据库中有但在代码中没有第1张

此sql可以在plsql中正确执行,但是查询不到数据。

解决办法是:将查询条件中的“#”替换成“$”.

原因如下:MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值)

而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。

免责声明:文章转载自《Mybatis查询在数据库中有但在代码中没有》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇从零开始学习jQuery (十) jQueryUI常用功能实战(转)maven 常见错误解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MySQL数据库导入导出详解[转发]

1. 概述 MySQL数据库的导入,有两种方法: 1) 先导出数据库SQL脚本,再导入; 2) 直接拷贝数据库目录和文件。 在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生。 所以一般推荐用SQL脚本形式导入。下面分别介绍两种方法。 2. 方法一 SQL脚本形式 操作步骤如下: 2.1. 导出SQL脚本 在原数据库服务器上,...

Redis----windows下的常用命令二

Redis 是一个开源,高级的键值对的存储。它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets(无序集合) 和 sorted sets(有序集合).启动redis服务:redis-server.exe redis.windows.conf启用客户端:redis-cli.exe双击 redis-cli.e...

JDBC实现从数据库中读取信息以表格的形式展示

方法都是通用的,要看你如何去灵活的运用!!! 本文以“新闻发布系统”为例 第一步:建立数据库(使用的是mysql数据库) 其中数据库信息为: 数据库名:news 表名:title,字段名分别为(序号、标题名称、创建者、创建时间) create table title( id int(2) primary key, name varchar(20), cre...

c语言数据库编程ODBC

c语言数据库编程 转载自:http://www.cnblogs.com/nliao/archive/2010/09/09/1822660.html 最近我的导师要求我用c语言读出access数据库的数据,我四处查找资料,终于找到了实现的办法,那就是odbc api编程。以前做数据库一直用java和jdbc,要不是用别人封装好的ado,用的很方便,...

教你调用数据库读取短信 记事本 通讯录文件,让ios5的短信恢复到ios4

由于高版本的ios固件向下恢复到低版固件时无法通过itunes恢复备份,所以一些数据,比如SMS需要通过提取文件的方式单独进行备份恢复特别是ios5的短信,之前很是头痛,直接将文件恢复到指定目录修改权限是不行的,因为ios5对sms数据库进行了修改,与ios4不匹配,为了使短信恢复,就尝试打开数据,修改看看,结果证明可行我这里针对的是ios5的短信,当然如...

基于VMWare构架Oracle RAC集群数据库

一直以来曙光公司服务器在数据库领域遇到最大的竞争对手就是国外公司的小型机,它们经常会利用小型机本身就具有的逻辑分区技术来吸引用户,同时打击竞争对手。而VMware公司的企业级虚拟化产品VMware Infrastructure则完全能实现IBM、SUN等小型机逻辑分区的相等功能,所以曙光公司完全可以采用VMware Infrastructure产品+Ora...