查询不报错但是结果为空(查看运行记录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 )
得到的结果是正常的,也就是有记录的;
这样从哪里查错误?
若查询的前面有存在增删改的操作并且在同一个事务里面,可能会产生 程序中查询不到但数据库查询得到的情况 是因为数据库事务隔离级别的原因