sql语句可以查出来,但是mybatis查不出来,用的是orcale数据库

XML中内容:

 <sql id="subscriptionColumn">
        sub.id "sub.id",
        sub.no "sub.no",
        sub.linkman "sub.linkman",
        sub.phone "sub.phone",
        sub.email "sub.email",
        sub.status "sub.status"
    </sql>

<resultMap type="entity.SubScription" id="subScriptionResultMapper">
        <id property="id" column="sub.id"/>
        <result property="no" column="sub.no"/>
        <result property="linkman" column="sub.linkman"/>
        <result property="phone" column="sub.phone"/>
        <result property="email" column="sub.email"/>
        <result property="status" column="sub.status"/>
</resultMap>

<select id="selectBySubScriptions" parameterType="vo.SubScriptions" resultMap="subScriptionResultMapper">
        select <include refid="subscriptionColumn"></include>
        from category c,
        subscription sub,
        subscription_dtl dtl,
        room r,
        member m
        where m.id=sub.mid
        and sub.mid=dtl.sid
        and r.id=dtl.rid
        and r.cid=c.id
            <if test="categroyId!=null">and c.id=#{categroyId}</if>
            <if test="status!=null">and sub.status=#{status}</if>
            <if test="no!=null">and sub.no=#{no}</if>
            <if test="memberName!=null">and m.username=#{memberName}</if>
            <if test="sdate!=null">and dtl.sdate&gt;#{sdate}</if>
            <if test="edate!=null">and dtl.edate&lt;#{edate}</if>
</select>

接口dao

public interface SubScriptionDao {
    public List<SubScription> selectBySubScriptions(SubScriptions subScriptions);
}

自己写的测试类,用工厂创建实例对象

 public class text {
    public static void main(String[] args) {
        SubScriptionDao subScriptionDao=(SubScriptionDao) ObjectFactory.getObject("subScriptionDao");
        SubScriptions ss=new SubScriptions();
        List<SubScription> s = subScriptionDao.selectBySubScriptions(ss);
        System.out.println("list:"+s);
    }
}

控制台也没报错,使用下面Log4J中的sql语句可以在数据库中查到数据:

 DEBUG ooo Using Connection [oracle.jdbc.driver.T4CConnection@15e2075]
DEBUG ==>  Preparing: select sub.id "sub.id", sub.no "sub.no", sub.linkman "sub.linkman", sub.phone "sub.phone", sub.email "sub.email", sub.status "sub.status" from category c, subscription sub, subscription_dtl dtl, room r, member m where m.id=sub.mid and sub.mid=dtl.sid and r.id=dtl.rid and r.cid=c.id 
DEBUG ==> Parameters: 
List[]

数据库中内容:
1 1478199128994 fsa sfadfs dfsfsad 未生效
2 1478200504349 熊峰 3412 421412 未生效

2

1个回答

这种情况是参数的错误

2
qq_21976567
JavaEE小能手 我也遇到了这个问题,我用逆向工具生成的,在PLSQL里面运行日志打印的sql语句可以查出来,同一个类型的条件换一个也能查
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java异常-一条sql在Navicat里能查出数据,但是mybatis查不出来
1、xml里把#换成$接收参数,不预编译(比如in查询时,拼装好的ids) 2、可能是映射出错。(resultMap错了或者resultType错了) resultMap可以连续写多个。 3、参数错了,多了符号。比如 需要 id= '87adbdd21e61267ee01' 前端给的id是 '87adbdd21e61267ee01'   所以查询就变成了id= ''87adbdd21e6...
sql语句可以查出来,但是mybatis查不出来,用的是mysql数据库
问题:mybatis查出来的时候,browsingVolume数据为null,但是数据库中却是有数据的原由:数据库的字段名称和参数不对应
同样的sql在java项目中查出来是空(mybatis)
在页面上  在执行SQL 前的最后一部将SQL 打印出来看看 一定是页面拼接出现了一些问题 这些问题很可能是单引号  双引号之类的差别 如果是接口调用的时候,参数上不能加引号http://localhost:8080/项目/api/method/oneLevel?type=0eec69acb6314cb685949bc8e64146ab...
Navicat中可以查出数据,但是mybatis查不出来
     今天在写代码的时候突然发现以下的问题:真是让我很是奇怪,就是为什么数据库中有数据,而且我是把控制台打印的sql复制到Navicat中去执行的,所以应该不会存在问题,那么是什么原因,导致代码中查不出来数据呢?     因为是公司的项目,所以我试了下其它的功能发现查询都是有数据的,但是发现那些查询条件不是中文,所以我就开始想,是不是配置文件中没有配置utf-8。 idea控制台打印的sq...
mybatis + oracle 数据库中执行sql能查询到,但是mybatis中查询不到
今天在表里增加了一列,用它做条件查询数据,结果mybatis查询数据为空,把控制台打印的sql放到pl/sql 执行,没问题! 在我的知识范围内遇到这种问题主要是xml映射不对,我查看了resultMap映射,没有问题。 然后网上说把#{}改成${},还是不行,最终看到一个答案说是修改列的sql没有commit。。。。 我commit了一下,果然是这个问题,以后要记住!!!!...
mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
解决方案1: 是不是在代码中的一些特殊字符问题,比如:将查询条件中的“#”替换成“$”. 解决方案2: 打个断点看看执行到了哪里 解决方案3: 1--程序中的用户和schema是否设置正确        2--你使用的DAO是不是连接的这个数据库,检查一下sqlMapConfig        3--输出sql语句复制到数据库中肯定填入参数了,你看看你设置的参数有什么不一
关于sql语句能查出东西,但是mybatis查询为null的问题
最近遇到一个问题,把sql语句复制到Navicat中查询时间没问题,但是在项目运行查询出来的为null,前后检查了三四遍,没发现问题,说起这就想抽自己大嘴巴子,没问题怎么可能查不出来?,原来除了网上说的字段与实体类不对应之外,还有一个原因,我时间类型为Date类型,但是我实体类接受的时候用的Data,你说气人不,还不报错,特在此警告自己,告别粗心 ...
使用相同的语法、条件,在SQL Sever能够查询出数据,可是在Hibernate的hql语言为啥就查不出来了呢?
在做项目的时候遇到一个非常奇葩的问题,一下是我的代码: // 验证该文件名是否存在 public boolean verifyAppName(String appName, int customerId, int typesName) { String hql = &quot;from CustomerApplication where typeId = '&quot; + typesName + &quot;' a...
sql语句能查询出来,mybatis未查询出结果问题解决
1.将mybatis 的sql语句放到数据库中执行,能执行成功,但是运行mybatis的语句就查询不出结果。原因可能是,mybatis连接数据库的配置未添加“?characterEncoding=utf8”,使用中文查询时,传递到数据库就成乱码了,因此匹配不到对应的查询结果。...
mybatis执行查询语句,可以在plsql中查询数据,但是在程序中查询不到
今天用mybatis查询语句的时候,控制台输出的sql语句可以在plsql里面可以正确执行,但是查询出来就是没有数据。   原查询语句如下:(为了保密性,将敏感的包名给马赛克了。)   此sql可以在plsql中正确执行,但是查询不到数据。 解决办法是:将查询条件中的“#”替换成“$”. 原因如下:MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一
mybatis查不出数据,而在sql中可以实现(数据类型超出范围)
最近遇到,系统页面某一分页没有数据,其他分页没有问题。 控制台显示查询部分数据,而数据库可以显示全部数据 这显示不是映射问题,应该是数据问题。 通过逐一排查,果然,int类型数据超出范围,而且不只一个字段, 过程有点坑,不过找到原因,还是很开心的。
Java中使用同样的sql语句在数据库中可以查询出结果,但是在程序中确无法查询出结果——解决方法
最近在写一个JavaWeb项目的时候遇到了一个问题就是,同样的sql语句在数据库中可以查询出结果,但是在程序中确无法查询出结果,今天给大家带来解决方案 如图所示,这是我在navicat中测试好的sql语句,但是在这里查询出来的结果集和确是空。 但是我之前查询所有商品时,并没有出现任何问题,可以查到结果。 所以,如果你也遇到了这种情况就要注意了,很有可能是你的程序只有在sql语句中有中文时不能正...
MyBatis打印日志查询0条数据库却可以查到
https://********.com?userId  = &quot;ABC123&quot;在开发接口时 想测试一下  userId为String 类型 所以请求参数就这么拼接了怎么查也查不到 DEBUG 看了一下值也是对的其实是这个样子https://********.com?userId  = ABC123就可以查到了  这个也困扰了我半天 还好我机智 希望可以帮到你们...
SQL中where in的用法以及mybatis执行查询语句,可以在plsql中查询数据,但是在程序中查询不到
首先我们要知道where是什么:一个判断符。在SQL操作中,控制只选择指定的行。 in的其实归类于特殊的比较运算符 expr1 between expr2 and expr3:表示expr1的值在expr2和expr3之间 expr in(expr2,expr3,expr4,…)表示expr1等于后面括号里面的任意一个表达式的值 like:字符串匹配,like后的字符创支持通配符 is null:...
使用mybatis时 有一个sql查询不到结果 日志也显示查询为o 但是从日志中取出执行的sql到数据库客户端手动执行,可以查到数据
bug场景 使用mybatis时 有一个sql查询不到结果 日志也显示查询为o 但是从日志中取出执行的sql到数据库客户端手动执行,可以查到数据 日志: 2018-08-08 13:57:13,101 DEBUG [jeesite.modules.sys.interceptor.LogInterceptor] - 开始计时: 01:57:13.101 URI: /DShare/jh...
Mybatis对象传递参数无法查询出结果,而plsql可以查询出来之我的SB错误
整整耽误我一天时间,mmd,总结下来以儆效尤sql:Preparing: select * from(select t.*, n.patient_status_name patientStatusName, p.name patientName,sd.name doctorName, ncd.nursing_class_name nursingClassName, p.date_of_birth ...
Mybatis控制台打印sql能查到数据,但是程序返回null
关于传参,Mybatis IN函数的用法,太马虎了浪费很多时间。 错误实例:Mybatis xml配置文件 控制台输出语句 正确的Mybatis xml文件配置 控制台输出语句
用Mybatis查询数据库oracle一直找不到数据,但数据库存在数据
查oracle中有数据,但是Mybatis或hibernate查询却总是得不到,试着在数据库打一下commit。说不定能解决问题
mybatis拼接导致的sql语句可查询到数据,程序查询不到
mybatis中拼接错误 遇到拼接问题,修改了格式但是不知道问题原因,记录求解 问题记录 今天在页面查询时传递条件范围发现能显示一条列表消息,但是扩大查询范围则程序查询语句没有结果条数返回,复制mybatis语句和参数在oracle中可查出多条数据! 问题解决:oracle中查询出的数据进行处理语句round(decode(a.size,0,0,a.number/ a.size),3)10|| ’...
mybatis执行sql检索不到数据,在数据库能成功检索到
在开发中遇到了这个问题,进行检索的时候,mybatis检索返回结果为空,但是把打印的sql放在数据库里执行能检索到数据,百度了才发现,是连接数据库的时候没有设置字符编码 在jdbc.properties中,url后面加上?autoReconnect=true&useUnicode=true&characterEncoding=utf8 driver=com.mysql.jdbc.Driver
使用mybatis查出数据与mysql查出来的不一致(order by)
最近在练习easyui的时候做到datagrid的时候 用到点击字段进行 降序,升序 的时候发现无论怎么点 数据都不会变,开始以为是easyui-datagrid中配置错了,改了半天也没有发现.  然后去看了下mybatis发出的sql和查询结果.查出来才发现 不是easyui的错,而是查询出来的结果都一样.然后又去mysql中查了一下.发现mysql中查出来没有问题然后我就懵了,都是一样的sql...
Bug:数据库的有数据,但是查出来是0
场景: 公司的业务很多方面不成熟导致的数据库设计的时候字段类型有些不统一,导致以下bug的产生 如图数据库的查询结果如下: 但是我查出来的数据总是0.然后就悲剧了,跟代码发现就是很奇怪的现象:把mybatis中sql在sql server中执行是可以的,但是返回的resultmap中的相应字段是0. 查了半天发现,是类型不对应: 数据库中是decimal类型,在java程序中
mybitis 汉字作为查询条件查询不到结果
今天在用mybitis 查询mysql数据库的时候 用到了汉字作为查询条件,sql语句在navcat里面可以查询的到但是在项目里确不行了 下面是项目里的sql SELECT CONSUMPTION FROM TA_GXZQLNTRQSJ WHERE PROVINCE = #{province} SELECT QUAN_PIN
同样的sql语句在数据库中能查出结果,但是在java项目中,查不出来
1.查看jdbc.properties url链接是否指定了数据编码格式 url = jdbc:mysql://xx.x.xx.xxx:3306?useUnicode=true&characterEncoding=utf8 2.如果jdbc.properties已经设置还是出现该错,则查看数据库连接配置xml文件,在jdbcUrl中也设置数据编码格式
MyBatis模糊查询不报错但查不出数据的一种解决方案
今天在用MyBatis写一个模糊查询的时候,程序没有报错,但查不出来数据,随即做了一个测试,部分代码如下: @Test public void findByNameTest() throws IOException { String resource = &quot;SqlMapConfig.xml&quot;; InputStream inputStream = Resources.getResource...
mybatis关于时间条件查询写sql语句,处理办法(数据库为oracle)查询不到数据解决办法
1、查询之前先把时间格式转成string类型 自定义查询时间sql语句: &amp;lt;select id=&quot;findPushcarTypeAndPushWayAndPushDate&quot; resultMap=&quot;BaseResultMap&quot;&amp;gt;       select * from MASOCT_BROADCAST  where  PUSH_CAR_TYPE like #{pushCarTyp...
php 数据库可以查到数据的sql语句,在代码里为什么查不到数据
环境:php5.4.16。用的wampserver,但是先前的程序是用php5.1开发d
SpringMVC + Mybatis bug调试 SQL正确,查数据库却返回NULL
今天碰到个bug,有点意思 背景是SpringMVC + Mybatis的一个项目,mapper文件里写了一条sql 大概相当于 select a from tableA where b = "123" 这样的级别 然后不管传进去的是什么 数据库里有没有 都会返回null 第一反应是sql语句写错了,比如把1和小写L弄混了之类的,传给sql的参数里有奇怪的空格等等 于是打开debug
【Android问题记录】为什么在终端直接查询数据库可以查到数据但是用代码总是查不到
作者:Yogi前言:在SecureCRT中,通过sqlite命令查询数据库,明明是有数据的,为什么代码中获取到的cursor总是为null呢?总结: Uri1:content://com.szjiuzhou.tvprovider/CONFIGURATIONUri2:content://com.szjiuzhou.tvprovider/configuration这2个uri代表的是2个不同的表哦。代
数据库能查出字段的值而SSM查不出来的原因分析
数据库中checkResult字段有值,通过SQL可以正常查出,但SSM项目页面该字段的值却显示不出来。然后我从以下3个方面去查找原因:1.映射文件的列名与属性不一致  2.查询的SQL语句缺少该字段3.实体类中添加了别名的注解@SerializedName(&quot;MHEALTHNO&quot;)三个方面都进行了查找DISABLED_BY, DUNS, DISABLED_DATE, CHECKRESULT, E...
数据库中能查数据,mybatis中查询为空的原因及解决方法
今日编写项目时,发现了mybatis查询操作时部分属性为空值,部分属性查询出来了。    数据库中存在值,也能查询出来。 原因:mapper.xml文件中,查询属性时,命名规范:查询时的属性必须对应java实体类中的属性。因为我的工程师mybatis的逆向工程生成,有的语句为自己手写。所以对应不上。 解决方法: 1.逆向工程中会生成一个resultMap的集合。这个集合是映射了数据库...
oracle数据库sql developer 用SQL可以查到数据,但是程序却查不出来
使用 oracle sql developer 刚刚插入了一批数据,自己用sql查的到,但是JDBC程序查不到,原因很简单,oracle sql developer默认是不提交事务的,所以这条记录并没有真正写到数据库里面,提交一下,问题解决!   ...
mybatis查询返回空,SQL数据库执行有数据!
我的数据库为Oracle,可以插入,更新,但在在Mybatis中执行SQL查询返回的数据发现返回NULL,但是生成SQL放在数据库中查询是有数据的,并且SQL是正确的!  这是没有改动的XML:           SELECT a.*  FROM LS_DIRECTORY a where  a.USERID=#{0}   and    a.PARENTID=#{1}
Mybatis中文模糊查询,数据库中有数据,但无结果匹配
问题描述: Mybatis采用中文关键字进行模糊查询,sql语句配置无误,数据库有该数据,且无任何报错信息,但无查询结果 解决方法: 修改数据库连接地址,在数据库连接地址上加上编码参数 url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8    ...
oracle数据库查询,sql没问题,数据库也有数据,方法没错,项目运行就是查不出数据
这是我参与做的第一个商业项目,采用的是springboot+   mybatis-plus开发的。数据库采用的是oracle。 这天我做了一个方法是根据两个字段查询数据库的数据列表,其中一个字段是类型(type) 。方法很简单,不一会儿就做出来了,这里不得不感叹mybatis-plus的强大,代码量很小!接下来就是测试了,由于数据库已经有一条测试数据,所以直接启动项目进行测试,可是结果查不出结果
Mybatis 中sql 使用in(#{item})无法查询解决办法
1、使用${ietm} ,参数不参与预编译。     这虽然简便,但是容易造成sql注入,所以不提倡使用。 2、使用foreach语法  其支持List、Array以及Map 例如: status in #{item}
记一次‘mybatis关联查询mysql数据库结果比用sql语句直接查询数据库结果记录条数少的’ 原因排查
技术背景: 项目做读写分离开发,在公司原有的技术架构基础上,数据库实现主从复制,用mybatis来完成只读操作,从而实现读写分离的目的。 遇到问题: mybatis关联查询mysql数据库结果比用sql语句直接查询数据库结果记录条数少 原因排查: 1.首先,用 * 替换了数据库字段名; 2.其次,查询的结果集resultType 替换为 resultMap 结果映射; 处理结果: 还是没有解...
MyBatis的in查询查不到数据
一开始使用工具类将id的集合字段处理成字符串格式的in条件: ids: 1,2,3,4  ===&amp;gt;  '1','2','3','4'     inStr 然后在mapper.xml中使用 in ( #{inStr})作为条件拼接进SQL语句 查询过程中,打印出的SQL语句是正确的,同时将该SQL放到DB工具中也可以查到数据,但是IDE的控制台打印确确实实是0条记录!! 百思不得其解 ...
Mybatis 查不到数据,总是返回Null
Mybatis 查不到数据,总是返回Null mybatis突然查不到数据,查询返回的都是Null,但是 select count(*) from xxx查询数量,返回却是正常的。 Preparing: SELECT id,a9004,a9005,a9015 FROM a90 where a9010 = ? ORDER BY id LIMIT 1  [DEBUG] org.apach
oa项目中查询某字段含有空格则查不出来
在保存该字段时就去掉空格,查询时也在s'q'l中去掉空格。使用replace(t.name,' ','')将空格替换OK
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 数据库用课程设计 数据库用课程设计