zoukankan      html  css  js  c++  java
  • Mybatis学习之自定义持久层框架(二) 自定义持久层框架设计思路

    前言

    上一篇文章讲到了JDBC的基本用法及其问题所在,并提出了使用Mybatis的好处,那么今天这篇文章就来说一下该如何设计一个类似Mybatis这样的持久层框架(暂时只讲思路,具体的代码编写工作从下一篇文章开始)。

    从使用端的角度来设计

    从使用端的角度来看,我们需要做一些配置工作,原理等同于使用Mybatis框架时所进行的配置。这其中包括以下步骤:

    1. 引入自定义持久层框架的jar包。
    2. 提供存放数据库核心配置的信息。
    3. 提供sql配置信息(包括sql语句、参数类型和返回类型)。

    这里暂时不讲这些工作的具体实现方法,等后面自定义持久层框架编写完成了,再来进行这些配置工作,并编写相应的dao层、实体层及测试类。

    从框架端的角度来设计

    设计持久层框架,本质上是对JDBC代码进行封装,因此我们需要做这样一些工作:

    1. 既然是跟数据库相关的框架,那么第一步肯定是要先连接上数据库。因此我们首先要读取存放数据库核心配置信息和sql配置信息的配置文件,也就是根据配置文件的路径,加载配置文件成字节输入流,存储在内存中。当然,我们不能一直将读取到的配置信息以流的形式存储在内存中,这样操作起来很不方便。我们可以创建两个javaBean:Configuration和MappedStatement,将解析出来的核心配置信息和sql配置信息分别存放在这两个容器对象中。
    2. 上面提到了解析配置文件,这里来讲一下具体的实现思路。这里我们需要用到Java的XML应用程序编程接口:dom4j对两类配置文件进行解析,将解析出来的内容封装到容器对象Configuration和MappedStatement中。
    3. 创建SqlSessionFactory接口及其实现类,获取数据库核心配置信息参数,生产sqlSession。
    4. 创建sqlSession接口及其实现类,用于封装数据库CRUD操作的相关方法,包括增删查改。
    5. 创建Executor接口及其实现类,用于调用JDBC的增删查改方法。

    总结

    本篇我们分别从使用端和框架端的角度阐述了自定义持久层框架的设计思路,对于程序员来说,光说原理而不写代码是很枯燥的,从下一篇开始,我们正式用边写代码、边分析原理的方法来讲解如何自定义一个持久层框架。

    作者:blayn
    出处:https://www.cnblogs.com/blayn/
    版权:本文版权归作者和博客园共有
    转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
  • 相关阅读:
    mina简介
    idea编辑器jdk版本报错
    设计模式之-工厂模式
    设计模式之-外观模式
    ssm项目中bean注入失败,获取spring中指定bean之解决方案
    Jquery.Page.js 分页插件的使用
    发现某网站低级致命漏洞引发的对多用户系统安全性讨论
    C#微信公众号开发之网页授权oauth2.0获取用户基本信息(一)
    有关C#中使用if else和try catch的问题及效率问题
    C#伪静态实现的方法
  • 原文地址:https://www.cnblogs.com/blayn/p/12828273.html
Copyright © 2011-2022 走看看