wild84
2017-08-21 11:04
采纳率: 100%
浏览 1.0k
已采纳

mubatis执行查询为空异常

查询不报错但是结果为空(查看运行记录sql语句是对的;入参也是对的),运行记录如下:

  [DEBUG] 2017-08-21 18:51:40,932 method:org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(JakartaCommonsLoggingImpl.java:54)
==>  Preparing: select * from ( select rownum as page,result.* from ( select AIRPORTS.ID as Airports0 ,AIRPORTS.AIRPORT_NAME as Airports1 ,AIRPORTS.CITY_NAME as Airports2 from AIRPORTS WHERE city_name = ? ) result ) 
 [DEBUG] 2017-08-21 18:51:41,110 method:org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(JakartaCommonsLoggingImpl.java:54)
==> Parameters: "北京"(String)
 [DEBUG] 2017-08-21 18:51:41,225 method:org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl.debug(JakartaCommonsLoggingImpl.java:54)
<==      Total: 0

而我在数据库软件上运行:

 select * from ( select rownum as page,result.* from ( select AIRPORTS.ID as Airports0 ,AIRPORTS.AIRPORT_NAME as Airports1 ,AIRPORTS.CITY_NAME as Airports2 from AIRPORTS WHERE city_name = '北京' ) result ) 

得到的结果是正常的,也就是有记录的;

这样从哪里查错误?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • Laherz 2017-08-22 01:53
    最佳回答

    若查询的前面有存在增删改的操作并且在同一个事务里面,可能会产生 程序中查询不到但数据库查询得到的情况 是因为数据库事务隔离级别的原因

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题