ホームページ  >  に質問  >  本文

java - mybatis 插入一条数据时,数据库没能找到这条数据,但是程序却可以查询出这条数据

用mybatis向mysql数据库插入一条数据后,然后查询出来。数据库里没有这条数据,但是程序通过查询语句却能查到这条数据

程序显示结果:

但是数据库就没能找到这条数据

PHP中文网PHP中文网2741日前446

全員に返信(6)返信します

  • 大家讲道理

    大家讲道理2017-04-18 09:54:06

    これはまったくキャッシュではなく、データベースでも mybatis でもありません。

    データベースは理解しやすいです。コミットしていないデータは現在のトランザクション内でのみ見つかり、他のクライアントは見つけることができません。それはダーティ リードではないでしょうか。

    mybatis のキャッシュは非常にシンプルで、デフォルトでは、挿入、削除、更新を行うとキャッシュがクリアされます。

    答えは明らかです。自動コミットをオフにし、データベースへの更新操作をコミットしないという問題です。したがって、クライアントを開いた場合にのみ見つけることができます。

    返事
    0
  • 高洛峰

    高洛峰2017-04-18 09:54:06

    あなたの写真:

    それがあなたの不倫の理由でしょうか?挿入後すぐにクエリを実行したが、トランザクションはまだ送信されていないためですか?

    返事
    0
  • 迷茫

    迷茫2017-04-18 09:54:06

    プログラムはキャッシュ メカニズムを使用している可能性があります。挿入したデータは、Baidu のデータベース キャッシュにまだ到達していない可能性があります。

    返事
    0
  • 黄舟

    黄舟2017-04-18 09:54:06

    にコミットがないからだと思います

    返事
    0
  • 阿神

    阿神2017-04-18 09:54:06

    トランザクションが送信されなかったことのみを意味します

    返事
    0
  • ringa_lee

    ringa_lee2017-04-18 09:54:06

    適切なビジネス上の問題。兄さん、取引が送信された後に見ることができます。

    返事
    0
  • キャンセル返事