mybatis的世界观
mybatis是什么?
书面定义:MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO为数据库中的记录。
mybatis是一个持久层的框架,也就是操作数据库的框架。
mybatis帮我们免除了基本jdbc的操作,将注意力专心到sql的编写上。
mybatis帮我们免除了参数映射,结果集映射操作。
总体来说:mybatis操作简单,性能优秀。
mybatis如何做的?
mybatis主要做的都是针对jdbc操作的封装,对sql配置的拆解封装。
我们来看看mybatis的内部操作流程
SqlSession是统一对外的接口,用户层面只需要操作SqlSession就可以了,这里比较符合程序的设计思想,单一职责,最少知识原则
执行器:执行用户请求的组件。
statementHandler:这里就是mybatis的核心部分了,mybatis根据配置中的sql语句,解析出改部分。后续基本上就是围绕这个组件的配置及使用展开。
parameterHandler:根据获取到的statementHandler及传入的参数,对statement进行参数映射,并生成原生JDBC可执行的statement
ResultSet:原生JDBC生成的结果集
ResultSetHandler:结果集与输出对象映射器。