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

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

JDBC存 的问题

  • 数据库配置硬编码

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

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

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

JDBC 解决方案

  • 使用配置文件

  • 使用数据库连接池

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

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

自定义持久层框架分析:

  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连接池等等
       最主要的还是其中思想,附个整体思路的脑图,如有错误,欢迎指正

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值