java工厂模式应用——多数据库分页实现(结合Spring)
来源:互联网 发布:mac安装的软件在哪 编辑:程序博客网 时间:2024/06/01 09:38
1.由于数据库的不同,每种数据库实现的分页的SQL语句不同,其实方法是一样的,这样我们可以抽象出数据库查询分页的方法接口,如下:
4.创建测试服务类。
5.将上面的各自关系注入到Spring中,applicationContext.xml文件的配置如下。
package com.hibernate.pageService;import java.util.List;public interface PageInterface {// 获取记录条数public int allRecordsNum();// 获取总记录的页数public int allPagesNum();// 上一页public List beforePageRecs(int currentPageNum);// 下一页public List nextPageRecs(int currentPageNum);// 第一页public List firstPageRecs();// 最后一页public List lastPageRecs(int lastPageNum);// 当前页记录public List currentPageRecs();}
MySql:(在这里就不具体实现分页的功能了,只是分享我的实现想法)
package com.hibernate.pageService.impl;import java.util.List;import com.hibernate.pageService.PageInterface;public class MySqlPageImpl implements PageInterface {public int allRecordsNum() {System.out.println("MySql数据库");return 0;}public int allPagesNum() {return 0;}public List beforePageRecs(int currentPageNum) {return null;}public List nextPageRecs(int currentPageNum) {return null;}public List firstPageRecs() {return null;}public List lastPageRecs(int lastPageNum) {return null;}public List currentPageRecs() {return null;}}Oracle:(在这里就不具体实现分页的功能了,只是分享我的实现想法)
package com.hibernate.pageService.impl;import java.util.List;import com.hibernate.pageService.PageInterface;public class OraclePageImpl implements PageInterface {public int allRecordsNum() {System.out.println("Oracle数据库");return 0;}public int allPagesNum() {return 0;}public List beforePageRecs(int currentPageNum) {return null;}public List nextPageRecs(int currentPageNum) {return null;}public List firstPageRecs() {return null;}public List lastPageRecs(int lastPageNum) {return null;}public List currentPageRecs() {return null;}}3.创建工厂类,用于生成分页接口的实现类。
package com.hibernate.pageService;public class PageFactory {private PageInterface pageInterface;public PageFactory(PageInterface pageInterface) {this.pageInterface = pageInterface;}public PageInterface returnPageImpl() {return pageInterface;}}
4.创建测试服务类。
public class PageService {private PageFactory pageFactory;public void pageTest() {PageInterface pageInterface = pageFactory.returnPageImpl();pageInterface.allRecordsNum();}public void setPageFactory(PageFactory pageFactory) {this.pageFactory = pageFactory;}}
5.将上面的各自关系注入到Spring中,applicationContext.xml文件的配置如下。
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!-- 分页工厂注入 --><!-- START --><bean id="mysqlPage" class="com.hibernate.pageService.impl.MySqlPageImpl" /><bean id="oraclePage" class="com.hibernate.pageService.impl.OraclePageImpl" /><bean id="pageFactory" class="com.hibernate.pageService.PageFactory"><constructor-arg ref="oraclePage" /></bean><bean id="pageService" class="com.hibernate.pageService.PageService"><property name="pageFactory" ref="pageFactory" /></bean><!-- END --></beans>
package com.tool;import org.springframework.beans.factory.BeanFactory;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringBeanFactory {public Object createInstanse(String beanId) {BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");Object obj = beanFactory.getBean(beanId);return obj;}}
// /测试类class mainClass {public static void main(String[] args) {PageService pageService = (PageService) new SpringBeanFactory().createInstanse("pageService");pageService.pageTest();}}测试类输出为:Oracle数据库
- java工厂模式应用——多数据库分页实现(结合Spring)
- java工厂模式应用——多数据库分页实现
- java工厂模式 多数据源
- 抽象工厂实现多数据库连接
- 设计模式- 使用抽象工厂实现多数据库切换实现过程
- 设计模式- 使用抽象工厂实现多数据库切换实现过程
- Java反射生成对象注入spring(结合工厂模式)
- java工厂模式——Spring示例
- java工厂模式——Spring示例
- 结合属性文件的工厂模式(java反射的应用)
- 结合属性文件的工厂模式(java反射的应用)
- Java反射结合属性文件实现工厂模式
- Spring事务结合多数据源切换
- Spring + Hibernate 实现多数据库链接
- Java工厂模式应用
- java分页 jsp 结合实现
- Spring+Mybatis多数据源配置(四)——AbstractRoutingDataSource实现数据源动态切换
- Spring+Mybatis多数据源配置(四)——AbstractRoutingDataSource实现数据源动态切换
- 在java语言中调用储存过程
- 第二十九章 参数的元数据信息
- 访问被拒绝,错误消息 401.3
- oracle存储函数简单介绍及实例
- 六周 BX1.1
- java工厂模式应用——多数据库分页实现(结合Spring)
- 在java中调用储存函数
- POJ 1961 HDU 1358 KMP的性质
- 初学VC之五子棋
- linux list.h 实例
- view的requestLayout()方法
- 北航计算机复试上机题(2008)
- DOC 命令大全
- 主动,永远的法宝