Mybatis简易实现
各个主要类之间的关系如上图
SqlSession为主要的类,包含有Configuration和Executor对象。SqlSession通过getMapper方法来对mapper的接口类进行代理,并且与SQL语句实现的XML文件进行对应。实现的代理类为MapperProxy,MapperProxy将sqlsession以及configuration对象传进来。configuration主要负责对xml文件的解析(包括SQL语句),sqlsession主要提供数据的操作方法,而sqlsession的查询又调用了Executor去做实际的查询,Executor会使用JDBC查询结果集,然后将结果集映射为POJO,返回给SqlSession。在服务层调用Mapper的方法,通过动态代理实际上是sqlsession在做事情。
用法
数据库配置文件
类似Mybatis的SQL配置文件
Mapper接口文件
结果集调用