对 DAO 框架的初步构思

对 DAO 框架的初步构思数据库

基础:session

  1. 内置支持JDBC、Spring JDBC和MyBatis数据库访问 -- 抽象提供一致的使用接口mybatis

  2. 默认三种DAO代理对象访,支持XML动态配置app

  3. 不依赖Spring
    框架

升级:spa

  1. 插件式链接池插件

  2. 插件式支持Spring代理

  3. 事务code

  4. 多数据源配置orm


1.内置支持JDBC、Spring JDBC和MyBatis数据库访问 -- 抽象提供一致的使用接口。

请看下面的代码SessionMgr接口:

SessionMgr<> {

    ()()}

代码中实现了简单的数据库操做会话的获取。对外暴露提供统一的接口。JDBC,SpringJDBC和Mybatis各会话管理实现类实现该接口。

天然这块还包括初始化,链接池,事务等工做。


2. XML动态配置

用户确定说配置太麻烦了,那默认就是支持三种数据库操做会话。

但确定会有独钟于其中一项的,好比Mybatis。请看下面一段XML配置:


  <!-- Session 管理器(可选) -->
  <!-- 能够配置多个,不一样的 Session 管理器可以使用不一样的方式链接不一样的数据库 -->
  <database-session-managers>
     <!-- name - 名称(必填),class - 管理器实现类(必填) -->
     <manager name="session-mgr-jdbc" class="org.fast.dao.jdbc.JDBCSessionMgr" />
     <manager name="session-mgr-mybatis" class="org.fast.dao.mybatis.MyBatisSessionMgr">
        <!-- 传递给 Session 管理器的初始化参数 -->
        <initialize-args>
           <!-- 第一个参数:Mapper接口包 -->
           <arg>vo\.mapper</arg>
           <!-- 第二个参数等 -->
           <arg></arg>
        </initialize-args>
     </manager>
  </database-session-managers>

但要考虑多数据源问题。。。 目前没想好


3. plugin式支持

    a) 插件式支持Spring

       只要在Spring配置一个Bean:

<bean id="userDao" class="org.fast.dao.DAOFacadeProxy" factory-method="create">
  <constructor-arg value="dao.mybatis.UserDao"/>
</bean>

DAOFacadeProxy是DAO类建立代理对象,会自动代理到须要操做的

    b) 插件式支持链接池


4. 事务


请你们对以上构思,提点建议或意见吧!

相关文章
相关标签/搜索