首頁  >  問答  >  主體

java - mybatis查询不到数据,而直接执行SQL可以执行?

如题,结果如下:

程序查询的输出:

DEBUG queryCompany:145 - ==>  Preparing: SELECT b.id, b.name, b.average, COUNT(*) as times FROM (SELECT id, name, average from baseinfo WHERE id = ? or name LIKE ? ORDER BY average DESC LIMIT ?, ?) as b LEFT JOIN detailinfo AS d ON (b.id = d.id) GROUP BY b.id 
DEBUG queryCompany:145 - ==> Parameters: 江(String), %江%(String), 0(Integer), 6(Integer)
DEBUG queryCompany:145 - <==      Total: 0

然后我把这个sql语句直接放到数据库里查询,结果如下:

MariaDB [stock]> SELECT b.id, b.name, b.average, COUNT(*) as times FROM
    ->   (SELECT id, name, average
    ->    from baseinfo WHERE id = "江" or name LIKE "%江%"
    ->    ORDER BY average DESC LIMIT 0, 6) as b
    ->   LEFT JOIN detailinfo AS d ON (b.id = d.id)
    -> GROUP BY b.id;
+--------+--------------+------------+-------+
| id     | name         | average    | times |
+--------+--------------+------------+-------+
| 600418 | 江淮汽车     | 0.99999999 |     8 |
| 601313 | 江南嘉捷     | 0.16716038 |    10 |
+--------+--------------+------------+-------+
2 rows in set (0.00 sec)

之前都还能正常查询的,求问这是怎么回事


数据库挂掉了,还没恢复,所以没法测试是不是各位提的问题。。恢复后我会第一时间测试的

伊谢尔伦伊谢尔伦2714 天前576

全部回覆(7)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 18:03:23

    Mybatis的設定問題吧,我猜可能是#號和$的問題,不知道你的設定是不是這麼寫的

    SELECT b.id, b.name, b.average, COUNT(*) as times FROM (SELECT id, name, average from baseinfo WHERE id = #{id} or name LIKE #{name} ORDER BY average DESC LIMIT #{}, #{}) as b LEFT JOIN detailinfo AS d ON (b.id = d.id) GROUP BY b.id

    回覆
    0
  • 黄舟

    黄舟2017-04-17 18:03:23

    簡單,中文亂碼的問題

    回覆
    0
  • 迷茫

    迷茫2017-04-17 18:03:23

    連接資料庫位址後面加上?autoReconnect=true&useUnicode=true&characterEncoding=utf8

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:23

    應該是mybatis的配置問題,差不多是出現在like附近,可以這麼搞:like CONCAT('%',#{XXX},'%')

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 18:03:23

    雷雷

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 18:03:23

    我猜也是編碼問題

    回覆
    0
  • PHPz

    PHPz2017-04-17 18:03:23

    http://blog.csdn.net/michaelj...
    參考這個連結或許會帶給你靈感

    回覆
    0
  • 取消回覆