拉勾高薪Offer训练营Java-P7班2022笔记整理

1.2 自定义持久层框架思路分析

使用端:(项目)引入自定义持久层框架的jar包

提供两部分配置信息:数据库配置信息、SQL配置信息(SQL语句、参数类型、返回值类型)

sqlMapConfig.xml:存放数据库配置信息

mapper.xml:存放sql配置信息

自定义框架层本身:(工程)本质就是对JDBC代码进行封装

加载配置文件:根据配置文件路径,加载配置文件成字节输入流,存储在内存中

创建Resource类,方法:InputStream getResourceAsStream(String path)

创建两个JavaBean(容器对象),存放的就是配置文件解析出来的内容

Configuration:核心配置类,存放sqlMapConfig.xml解析出来的内容

MapperStatement:映射配置类,存放mapper.xml解析出来的内容

解析配置文件:dom4j

创建类:SqlSessionFactoryBuilder包含方法build(InputStream in)主要做两件事:

3.1 使用dom4j解析配置文件,将解析出来的内容封装到容器对象中

3.2 创建sqlSessionFactory对象,生产SqlSession,即会话对象(增删改查都封装在这里),这里用到了工厂模式,降低程序间的耦合(不直接new一个SqlSession)

创建SqlSessionFactory接口及实现类DefaultSqlSessionFactory,方法openSession()用以生产sqlSession

创建SqlSession接口及实现类DefaultSession,定义对数据库的CRUD操作(selectList、selectOne、update……)

创建Executor接口及实现类SimpleExecutor实现类,query(Configuration,MapperStatement,MapperStatement,Object... params)方法,执行的就是JDBC代码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容