mybatis浅析

mybatis浅析

 SqlSession是Mybatis最重要的构建之一,提供select/insert/update/delete方法,SqlSession的运行主要是依靠Executor执行器调用(调度)StatementHandler、parameterHanlder、ResultSetHandler,Executor首先通过创建StamentHandler执行预编译并设置参数运行。SqlSession重要的四个对象

  • Execute:调度执行StatementHandler、ParmmeterHandler、ResultHandler执行相应的SQL语句;
  • StatementHandler:使用数据库中Statement(PrepareStatement)执行操作,即底层是封装好了的prepareStatement;
  • ParammeterHandler:处理SQL参数;
  • ResultHandler:结果集ResultSet封装处理返回。

BoundSql 表示动态生成的SQL语句以及相应的参数信息。SqlSource 负责根据用户传递的parameterObject,动态地生成SQL语句,将信息封装到BoundSql对象中,并返回。
Configuration 对象保存了所有mybatis的配置信息,主要包括:mybatis基础配置文件、 mapper.xml映射器配置文件

执行代码示例:

1、我们使用Mapper进行数据库操作时,调用MapperProxy的invoke()方法,首先判断该接口方法是否有实现类,有则调用,否则执行MapperMethod的execute()方法。

mybatis浅析

mybatis浅析

mybatis浅析

mybatis浅析

BoundSql表示动态生成的SQL语句以及相应的参数信息,mybatis使用了组合模式实现动态sql的拼接。

mybatis浅析

mybatis浅析

此时获得数据库连接

mybatis浅析

mybatis浅析

 

参考:

https://www.cnblogs.com/jian0110/p/9452592.html