1. mybatis 是使用JDBC来实现的, 所以需要我们首先了解JDBC 的查询
①加载JDBC驱动
②建立并获取数据库连接
③设置sql语句的传递参数
④执行sql语句并获得结果
⑤对结果进行转化,并返回处理后的结果
⑥释放相关的资源
2.mybatis 核心组件
①sqlSession 和数据库交互的回话,完成必要的增删改查
②Excutor 负责SQL语句的生成,和查询缓存的维护
③StatementHandler 封装了jdbc的statement操作,设置参数结果转化
④ParameterHandler 转化成 jdbc所需要的参数
⑤ResultSetHandler 对jdbc返回的结果进行转化
⑥TypeHandler java数据类型和jdbc数据类型的转化
⑦ MappedStatement 对节点的封装
⑧SqlSource 将SQL封装到Boundsql 中
⑨BoundSql 动态生成的sql 以及相关参数的信息
⑩Configuration 配置信息的维护
3. 使用sqlsession 的工作流程
List<Employee> result = sqlSession.selectList("com.louis.mybatis.dao.EmployeesMapper.selectByMinSalary",params);
①Configuration 匹配想对象的 MappedStatement
②将查询任务委托给 Excutor
③根据SQL和参数,动态生成 BoundSql 对象
④为当前的查询构建一个缓存key
⑤查询的时候,先从缓存中获取,如果没有的话,直接从数据库中读取
⑥执行查询结果,返回list结果,将结果放入到缓存中
⑦