对 DAO 框架的初步构思数据库
基础:session
内置支持JDBC、Spring JDBC和MyBatis数据库访问 -- 抽象提供一致的使用接口mybatis
默认三种DAO代理对象访,支持XML动态配置app
不依赖Spring
框架
升级:spa
插件式链接池插件
插件式支持Spring代理
事务code
多数据源配置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. 事务
请你们对以上构思,提点建议或意见吧!