《深入浅出MyBatis技术原理与实战》读后感
构建Configuration
在SqlSessionFactory构建中,Configuration是最重要的,它的作用如下:
1. 读入配置文件,包括基础配置的XML文件和映射器的XML文件;
2. 初始化基础配置,比如MyBatis的别名等,一些重要的类对象,例如插件、映射器、ObjectFactory和typeHandler对象;
3. 提供单例,为后续创建SessionFactory服务提供配置的参数;
4. 执行一些重要的对象方法,初始化配置信息。
映射器的内部组成
一般而言,一个映射器是由3个部分组成:
1. MappedStatement,它保存映射器的一个节点(select|insert|delete|update),包括我们配置的SQL、SQL的id、缓存信息、resultMap、parameterType、resultType和languageDriver等重要配置内容;
2. SqlSource,它是提供BoundSql对象的地方,它是MappedStatement的一个属性;
3. BoundSql,它是建立SQL和参数的地方,它有3个常用的属性:SQL,parameterObject和parameterMappings。
构建SqlSessionFactory
有了Configuration对象,构建SqlSessionFactory就很简单,如下:
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession的四大对象
1. Executor执行器,由它来调度StatementHandler、ParameterHandler和ResultHandler等来执行对应的SQL;
2. StatementHandler的作用是使用数据库的Statement(PreparedStatement)执行操作,它是四大对象的核心,起着承上启下的作用;
3. ParameterHandler用于SQL对参数的处理;
4. ResultHandler是进行最后数据集(ResultSet)的封装返回处理的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2017-06-23 [转]好文章转发