對 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. 事務
請你們對以上構思,提點建議或意見吧!