MyBatis如何实现自定义持久层框架(mybatis,开发技术)

时间:2024-05-03 12:16:59 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    MyBatis%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8C%81%E4%B9%85%E5%B1%82%E6%A1%86%E6%9E%B6

使用端

提供核⼼配置⽂件:

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解析配置⽂件,将解析出来的内容封装到ConfigurationMappedStatement

第⼆:创建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如何实现自定义持久层框架的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:react怎么添加less环境配置下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18