MyBatis如何实现自定义持久层框架
导读:本文共11161.5字符,通常情况下阅读需要37分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 自定义框架设计使用端 :提供核⼼配置⽂件:sqlMapConfig.xml : 存放数据源信息,引⼊mapper.xmlMapper.xml : sql语句的配置⽂件信息框架端:1.读取配置⽂件读取完成以后以流的形式存在,我们不能将读取到的配置信息以流的形式存放在内存中,不好操作,可以创建JavaBean来存储(1)Configuration : 存放数据库基本... ...
目录
(为您整理了一些要点),点击可以直达。使用端 :
提供核⼼配置⽂件:
sqlMapConfig.xml : 存放数据源信息,引⼊mapper.xml
Mapper.xml : sql语句的配置⽂件信息
框架端:
1.读取配置⽂件
读取完成以后以流的形式存在,我们不能将读取到的配置信息以流的形式存放在内存中,不好操作,可以创建JavaBean来存储
(1)Configuration
: 存放数据库基本信息、Map<唯⼀标识,Mapper>, 唯⼀标识:namespace + "." + id
(2)MappedStatement
:sql语句的id、sql语句、输⼊参数java类型、输出参数java类型
2.解析配置⽂件
创建SqlSessionFactoryBuilder
类:
⽅法:返回值SqlSessionFactory
,方法为build()
:
第⼀:使⽤dom4j解析配置⽂件,将解析出来的内容封装到Configuration
和MappedStatement
中
第⼆:创建SqlSessionFactory
的实现类DefaultSqlSessionFactory
3.创建SqlSessionFactory
:
⽅法:openSession()
: 获取SqlSession
接⼝的实现类实例对象
4.创建SqlSession
接⼝及实现类:主要封装crud⽅法
⽅法:selectList(String mappedStatementId,Object... param)
:查询所有
selectOne(String mappedStatementId,Object... param)
:查询单个
具体实现:封装JDBC完成对数据库表的查询操作
涉及到的设计模式 :
Builder构建者模式、⼯⼚模式、代理模式
这里只做比较繁琐的查询单条和查询多条的实现,添加、修改、删除的参考自行实现。
创建sqlMapConfig.xml
mapper.xml
User实体类
创建⼀个Maven⼦⼯程并且导⼊需要⽤到的依赖坐标
Configuration配置类
MappedStatement类
Resources类
SqlSessionFactoryBuilder类
XMLConfigBuilder类
XMLMapperBuilder类
SqlSessionFactory接口及DefaultSqlSessionFactory实现类
SqlSession接口及DefaultSqlSession实现类
Executor接口及SimpleExecutor实现类
BoundSql类
GenericTokenParser、ParameterMapping、TokenHandler、ParameterMappingTokenHandler工具类
GenericTokenParser:解析${}或#{}中的参数名称
ParameterMapping:存储${}或#{}中的参数名称
TokenHandler:替换${}或#{}处理接口
ParameterMappingTokenHandler:替换${}或#{}处理接口的实现类
MyBatis如何实现自定义持久层框架的详细内容,希望对您有所帮助,信息来源于网络。