MyBatis(二):自定义持久层框架思路分析

  • 使用端

    1. 引入架构端Maven依赖
    2. SqlMapConfig.xml—数据库配置信息(数据库连接jar名称、连接URL、用户名、密码),引入Mapper.xml的路径
    3. XxMapper.xml—SQL配置信息(SQL语句、参数类型、返回值类型)
  • 架构端(本质对JDBC封装)

    1. 加载使用端配置信息(数据库配置信息、SQL配置信息)为输入流,读入内存

    2. 解析配置文件输入流(使用Dom4j解析)

      ​ 创建SqlSessionFactoryBuilder类,编写build()方法,用户创建SqlSessionFactory对象,传入已加载的配置文件输入流,使用Dom4j解析XML,封装至Configuration、MappedStatement中

      Configuration—封装SqlMapConfig.xml信息

      MappedStatement—封装XxMapper.xml信息

    3. 创建SqlSessionFactory接口及实现类 DefaultSqlSessionFactory

      定义openSession()方法,用于生产SqlSession会话对象

    4. 创建SqlSession接口及实现类DefaultSqlSession

      定义CRUD操作:selectOne()、selectList()、update()、delete()、insert(),调用Executor的实现方法

    5. 创建Executor接口及实现类SimpleExecutor

      编写query()、insert()、update()、delete()执行JDBC代码,参数需要传入Configuration、MappedStatement对象以及可变参数列表Object...params

原文地址:https://www.cnblogs.com/rangers-sun/p/14500481.html