mybatis执行query步骤如下:
-
根据具体传入的参数,动态地生成需要执行的SQL语句,用BoundSql对象表示
-
为当前的查询创建一个缓存Key
-
缓存中没有值,直接从数据库中读取数据
-
执行查询,返回List 结果,然后 将查询的结果放入缓存之中
-
根据既有的参数,创建StatementHandler对象来执行查询操作
-
将创建Statement传递给StatementHandler对象,调用parameterize()方法赋值
-
调用StatementHandler.query()方法,返回List结果集
参考
https://blog.csdn.net/luanlouis/article/details/40422941
https://blog.csdn.net/a412451848/article/details/82723754