daofactory.java

来自「一个基于Java的新闻发布系统」· Java 代码 · 共 77 行

JAVA
77
字号
/*******************************************************************************
 * 文件名: DAOFactory <br>
 * 版本: <br>
 * 描述: 系统内所有DAO的工厂类,是一个抽象类,定义类数据库DAO的 工厂方法和业务DAO的抽象方法; <br>
 * 版权所有: //////////////////////////////////////////////////////// <br>
 * 创建者: 杨赞明 <br>
 * 创建日期: 2005-7-28 <br>
 * 修改者: 周义涛 <br>
 * 修改日期: 2005-8-6 <br>
 * 修改说明: 修改静态常量数据库标识为String类型,与DBConfig.getDataBaseName方法返回值对应
 ******************************************************************************/

package com.hope.itissue.index_info.dao;

import com.hope.itissue.index_info.dao.SqlserverDAOFactory;
import java.util.ArrayList;

//import com.project_info.dao.ProjectTreeDAO;


/**
 * 系统内所有DAO的工厂类,是一个抽象类, 定义类数据库DAO的工厂方法和业务DAO的抽象方法; <br>
 * 本类定义了数据库类型常量,分别表示相应的数据库 <br>
 * "oracle":oracle数据库 <br>
 * "mssql":SQL Server数据库 <br>
 * "mysql":MySQL数据库
 */
public abstract class DAOFactory {

    /**
     * 定义ORACLE数据库在本类中的标识:oracle
     */
    public static final String ORACLE = "oracle";


    /**
     * 定义MSSQL数据库在本类中的标识:mssql
     */
    public static final String MSSQL = "sqlserver";


//    /**
//     * 定义MYSQL数据库在本类中的标识:mysql
//     */
    public static final String MYSQL = "mysql";


    /**
     * 定义生成数据库DAO工厂类的方法
     *
     * @param whichFactory
     *            要使用的数据库名字,根据需要查看本类中的属性确定whichFactory的值
     * @return DAOFactory
     */
    public static DAOFactory getDAOFactory(String whichFactory) {
        if (whichFactory.equalsIgnoreCase(ORACLE)) {
            return null;
        } else if (whichFactory.equalsIgnoreCase(MSSQL)) {
            return new SqlserverDAOFactory();
        } else if (whichFactory.equalsIgnoreCase(MYSQL)) {
            return null;
        } else {
            return null;
        }
    }


    /**
     * 定义生成具体业务DAO抽象类的方法
     *
     * @return UserDAO
     */

    public abstract MenuDAO getMenuDAO();
    public abstract ItemDAO getItemDAO();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?