MyBatis学习笔记

135 阅读1分钟

自定义持久层框架

JDBC 访问数据库的问题及解决方案

JDBC 问题总结 解决方案
频繁创建、释放数据库连接 数据库连接池
SQL 语句及参数硬编码 配置文件
手动解析和封装结果集 反射、内省

设计思路

使用端:引入持久层框架的 jar 包

  1. 数据库的配置信息 sqlMapConfig.xml
  2. SQL 语句的配置信息 mapper.xml

框架本身:本质是对JDBC代码进行封装

  1. 加载配置文件,创建Resources类,方法为getResourceAsStream(String path)
  2. 创建两个JavaBean(容器对象),存放对配置文件解析出来的内容 Configuration:核心配置类,存放对sqlMapConfig.xml解析出来的内容 MappedStatement:映射配置类,存放对mapper.xml解析出来的内容
  3. 解析配置文件 创建类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 conf, MappedStatement st, Object… params):执行的就是JDBC代码