⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oracledaofactory.java

📁 基于STRUTS的网络调查应用
💻 JAVA
字号:
/*
 * Created on 16-ene-2005 18:58:25
 *
 */
package com.martincuervo.javatest.business.dao.oracle;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import com.martincuervo.javatest.business.dao.DAOFactory;
import com.martincuervo.javatest.business.dao.IAnswerDAO;
import com.martincuervo.javatest.business.dao.ICategoryDAO;
import com.martincuervo.javatest.business.dao.IQuestionDAO;
import com.martincuervo.javatest.business.dao.ITestDAO;

/**
 * @author Jorge Martin Cuervo <jorge@martincuervo.com>
 *
 */
public class OracleDAOFactory extends DAOFactory {


    /**
     * Metodo para crear conexiones a MySQL
     */
    private Connection createConnection() {
        
    	ResourceBundle resources = 
    		ResourceBundle.getBundle(this.getClass().getName());
    	String dataSourceName = resources.getString("dataSourceName");
    	
    	Connection connection = null;
   		InitialContext initCtx = null;
    	
    	if(dataSourceName.equals("")) {
	    	try {
		    	Class.forName(resources.getString("className"));
		    	
				connection = DriverManager.getConnection(
					resources.getString("url"), 
					resources.getString("username"), 
					resources.getString("passwd"));
	    	} catch (ClassNotFoundException e) {
	    		System.out.println("Error, no encuentro el driver jdbc.");
	    	} catch (SQLException e) {
	    		System.out.println("Error, no puedo conectar.");
	    	}
    	} else {
			try {
				initCtx = new InitialContext();
	    		DataSource ds = (DataSource)initCtx.lookup(dataSourceName);
	    		connection = ds.getConnection();
			} catch (NamingException e) {
				e.printStackTrace();
			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				try {
					initCtx.close();
				} catch (NamingException e1) {
					e1.printStackTrace();
				}
			}
    	}
    	
		return connection;
    
    }	
    
	public IQuestionDAO getQuestionDAO() {
		return new OracleQuestionDAO(createConnection());
	}
	
    public IAnswerDAO getAnswerDAO() {
		return new OracleAnswerDAO(createConnection());
	}
    
	public ICategoryDAO getCategoryDAO() {
		return new OracleCategoryDAO(createConnection());
	}
	
	public ITestDAO getTestDAO() {
		return new OracleTestDAO(createConnection());
	}
}

⌨️ 快捷键说明

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