用mybatis向mysql数据库插入一条数据后,然后查询出来。数据库里没有这条数据,但是程序通过查询语句却能查到这条数据
程序显示结果:
但是数据库就没能找到这条数据
大家讲道理2017-04-18 09:54:06
これはまったくキャッシュではなく、データベースでも mybatis でもありません。
データベースは理解しやすいです。コミットしていないデータは現在のトランザクション内でのみ見つかり、他のクライアントは見つけることができません。それはダーティ リードではないでしょうか。
mybatis のキャッシュは非常にシンプルで、デフォルトでは、挿入、削除、更新を行うとキャッシュがクリアされます。
答えは明らかです。自動コミットをオフにし、データベースへの更新操作をコミットしないという問題です。したがって、クライアントを開いた場合にのみ見つけることができます。
迷茫2017-04-18 09:54:06
プログラムはキャッシュ メカニズムを使用している可能性があります。挿入したデータは、Baidu のデータベース キャッシュにまだ到達していない可能性があります。