# mybatis-study **Repository Path**: seanzhaox/mybatis-study ## Basic Information - **Project Name**: mybatis-study - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-19 - **Last Updated**: 2021-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mybatis-study #### 介绍 {**以下是 Gitee 平台说明,您可以替换此简介** Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 自定义持久层框架 使用端(项目):引入自定义持久层框架的jar包 提供两部分配置信息:数据库配置信息、sql配置信息:sql语句、参数类型、返回值类型 使用配置文件来提供两部分配置信息: (1) sqlMapConfig.xml: 存放数据库配置信息, 存放mapper.xml的全路径 (2) mapper.xml: 存放sql配置信息 自定义持久层框架本身(工程):本质就是对JDBC代码进行了封装 (1) 加载配置文件: 根据配置文件的路径,加载配置文件成字节输入流,存储在内存中 创建 Resources 类, 方法:InputStream getResourceAsStream(String path) (2) 创建两个javaBean: (容器对象):存放的就是对配置文件解析出来的内容 Configuration: 核心配置类: 存放sqlMapConfig.xml解析出来的内容 MappedStatement: 映射配置类: 存放 mapper.xml 解析出来的内容 (3) 解析配置文件: dom4j 创建类: SqlSessionFactoryBuilder 方法: build(InputStream in) 第一: 使用 dom4j 解析配置文件,将解析出来的内容封装到容器对象中 第二: 创建SqlSessionFactory对象;生产sqlSession: 会话对象 (工厂模式) (4) 创建SqlSessionFactory接口及实现类DefaultSqlSessionFactory 第一: openSession(): 生产sqlSession (5) 创建SqlSession接口及实现类DefaultSession 定义对数据库的crud操作: selectList() selectOne() update() delete() (6) 创建Executor接口及实现类SimpleExecutor实现类 query(Configuration, MappedStatement, Object... params): 执行的就是JDBC代码