Mybatis StatementHandler 执行流程如下:
- 当用户发起一个查询请求时,Mybatis会根据用户传入的SQL语句创建一个StatementHandler对象。
- StatementHandler会根据配置文件中的数据库厂商信息,选择合适的Statement类型(如PreparedStatement、CallableStatement等)。
- StatementHandler会根据用户传入的SQL语句参数,设置Statement对象的参数。
- StatementHandler会调用Mybatis的ParameterHandler对象,将参数传递给ParameterHandler对象,ParameterHandler对象会根据参数类型设置Statement对象的参数。
- StatementHandler会调用Mybatis的ResultSetHandler对象,处理Statement对象执行SQL语句后返回的结果集。
- ResultSetHandler会将结果集映射为用户定义的Java对象,并返回给用户。
总的来说,StatementHandler负责处理SQL语句的执行和结果的处理,而ParameterHandler负责处理SQL语句的参数设置,ResultSetHandler负责处理结果集的映射。在整个执行流程中,StatementHandler起到了中间桥梁的作用,协调各个组件完成SQL语句的执行和结果的处理。