V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
TiAmoi
V2EX  ›  问与答

Java web 服务 mybaits 执行的 SQL 和我在 mysql 上执行的 SQL 一样,但是返回的数据却不同。这个是什么情况,大家有见过的吗?

  •  
  •   TiAmoi · 2019-07-06 12:11:17 +08:00 · 2238 次点击
    这是一个创建于 1728 天前的主题,其中的信息可能已经有所发展或是发生改变。
    19 条回复    2019-07-08 10:08:01 +08:00
    TiAmoi
        1
    TiAmoi  
    OP
       2019-07-06 12:11:34 +08:00
    [图片][图片][图片]
    TiAmoi
        2
    TiAmoi  
    OP
       2019-07-06 12:12:13 +08:00
    图片怎么加上去?
    TiAmoi
        3
    TiAmoi  
    OP
       2019-07-06 12:13:18 +08:00
    实际是是,web 服务执行的 SQL,查询的数据和我复制相同的 SQL 去 mysql 查询的数据不同。Mysql 数据库连接的是相同的库。问题找不到。不知道大家有没有遇到过?
    MoHen9
        4
    MoHen9  
       2019-07-06 12:19:23 +08:00 via Android
    ???

    : )

    请放图!!!
    choice4
        5
    choice4  
       2019-07-06 12:19:30 +08:00 via Android
    是不是 ResultMap 没有 id 标签
    paodange
        6
    paodange  
       2019-07-06 12:20:27 +08:00 via Android
    使用了 group by,有部分列没有聚合函数也没有出现在 group by 中会出现这种问题
    micean
        7
    micean  
       2019-07-06 12:50:56 +08:00
    有排序吗?
    reus
        8
    reus  
       2019-07-06 14:34:55 +08:00
    说明不是一样
    opengps
        9
    opengps  
       2019-07-06 14:42:03 +08:00
    编码规则一样吗?
    NizumaEiji
        10
    NizumaEiji  
       2019-07-06 14:49:17 +08:00
    用 debug 日志把 mybatis 发送的 sql 打印出来看看
    是不是什么插件 导致生成的 sql 和实际的 sql 不一样
    limuyan44
        11
    limuyan44  
       2019-07-06 15:07:53 +08:00 via Android
    说明 mybatis 最终执行的 sql 和你以为的不是一样的,你要说哪里不一样咱也没法猜不是,反正肯定不是执行相同 sql 得到不同结果就是了,建议打印出最终执行 sql
    cabing
        12
    cabing  
       2019-07-06 15:47:33 +08:00
    sql 日志有木有~~
    oneisall8955
        13
    oneisall8955  
       2019-07-06 18:46:46 +08:00 via Android
    是不是二级一级缓存?重启服务查出来试试?
    BigBunny
        14
    BigBunny  
       2019-07-06 22:12:55 +08:00   ❤️ 3
    有缓存。
    作为一个啥都不懂的非 java 开发,之所以能知道原因
    是因为参加一个朋友婚礼时,看着伴娘在婚礼前一天花了一下午的时间排查这个问题。
    印象比较深刻😂️
    abcbuzhiming
        15
    abcbuzhiming  
       2019-07-06 22:23:38 +08:00
    一般来说应该是你开了缓存导致的
    Takamine
        16
    Takamine  
       2019-07-07 00:07:54 +08:00 via Android
    @BigBunny 心疼。(。ò ∀ ó。)
    yuikns
        17
    yuikns  
       2019-07-07 01:19:50 +08:00
    @BigBunny 好惨
    watzds
        18
    watzds  
       2019-07-07 05:38:47 +08:00 via Android
    连接参数也可能不一样
    TiAmoi
        19
    TiAmoi  
    OP
       2019-07-08 10:08:01 +08:00
    SQL 都打印出来的,是一样的,参数的值也是一样,是我从 mysql 设置打印 SQL 中复制去 MYSQL 查询,两种放回的值不一样。我一开始也以为是缓存问题,不过看了一下,一级缓存不会出现这样的情况,二级缓存我没开启。。现在就是找不到问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2740 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:40 · PVG 20:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.