[由零开始] 手写Mybatis-自定义持久层框架

手写Mybatis-自定义持久层框架思路分析

JDBC存 的问题

  • 数据库配置硬编码

  • 频繁创建与销毁数据库连接 ,资源严重浪费

  • SQL语句、参数写在代码里和代码在一起,存在硬编码,不好维护,

  • 对参数和返回结果需要手动一个一个去绑定,较为繁琐

JDBC 解决方案

  • 使用配置文件

  • 使用数据库连接池

  • 使用配置文件与代码分开维护(与数据库配置文件分开),SQL配置文件可能经常变更

  • 使用反射、内省的方式来重实现绑定与封装

自定义持久层框架分析:

扫描二维码关注公众号,回复: 11412775 查看本文章
  1. 使用端引用自定义持久框架 的jar包
  2. 使用端提供数据库配置信息-配置文件sqlMapConfig.xml
  3. 使用端提供Sql的配置信息,XXXMapper.xml
  4. 自定义持久框架 jar提供解析据库配置信息和Sql的配置信息工具类(sql配置信息包含sql语句,入参数 ,返回类型)

一、自定义持久框架 jar

1.创建一个maven项目,并引入以下jar

2.创建加载资源类

3.创建配置类信息存放sql配置信息类、数据库配置信息类、更新操作的枚举类

    枚举类:

  sql配置信息类:

数据库配置信息类:

   存储解析sql后的类

4.以上我们创建了存储配置信息的POJO,下面我们要去创建XML的解析类讲XML解析到POJO中

    数据源XML解析

 

    SqlXML信息解析类:

 创建一个解析sql

4.到此我们XML我们已经解析完毕,接下来我们就需要创建一个SqlSessionFactory用于生产SqlSession

   SqlSessionFactory

   实现SqlSessionFactory

  创建一个SqlSession

  创建一个实现SqlSession

只有调用Dao 就会直接直接调用getMapper

 

5.下面我们就可以创建数据库链接可以开始做一些数据库的操作

其实最底层还是JDBC

 

至此 自定义手写Mybatis-自定义持久层框架已完成

自定义框架端比较繁琐 涉及东西比较多
       使用dom4j 解析配置文件
       c3p0连接池等等
       最主要的还是其中思想,附个整体思路的脑图,如有错误,欢迎指正

猜你喜欢

转载自blog.csdn.net/qq497811258/article/details/107063881