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

📄 jdbcfactory.java

📁 该源码包括了基于J2EE的数据持久层设计,设计中使用了DAO,Service,等模式,并在Struts下进行了测试.
💻 JAVA
字号:
package org.conference.datapersistence;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Properties;

import javax.sql.DataSource;

import org.javawing.component.cache.Cache;
import org.javawing.component.cache.CacheFactory;
import org.javawing.component.util.ClassUtils;

public class JDBCFactory {
	private static DataSource ds;

	private JDBCFactory() {
	}

	static {
		Properties props = new Properties();
		try {
			props
					.load(new FileInputStream(
							"C:\\Documents and Settings\\lihao\\workspace\\Conference\\src\\org\\conference\\datapersistence\\datasource-config.properties"));
		} catch (FileNotFoundException e) {

			e.printStackTrace();
		} catch (IOException e) {

			e.printStackTrace();
		}
		String Class = props.getProperty("class");
		String url = props.getProperty("serverURL");
		String driver = props.getProperty("driver");
		String user = props.getProperty("username");
		String password = props.getProperty("pasword");
		int minCon = Integer.parseInt(props.getProperty("minCon"));
		int maxCon = Integer.parseInt(props.getProperty("maxCon"));
		double conTimeout = Double.parseDouble(props.getProperty("conTimeout"));
		System.out.println("\n" + " Class=" + Class + "  url=" + url
				+ " driver=" + driver + "  user=" + user + "  password="
				+ password + "  minCon=" + minCon + "  maxCon=" + maxCon
				+ "  conTimeout=" + conTimeout + "\n");
		Constructor cotr = null;
		try {
			cotr = ClassUtils.forName(Class).getConstructor(
					new Class[] { String.class, String.class, String.class,
							String.class, int.class, int.class, double.class });
		} catch (SecurityException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		Object dataSource = null;
		try {
			dataSource = cotr.newInstance(new Object[] { driver, url, user,
					password, new Integer(minCon), new Integer(maxCon),
					new Double(conTimeout) });
		} catch (IllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InstantiationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		ds = (DataSource) dataSource;
	}

	public static DataSource DataSource() {
		return ds;
	}

	public static Cache getDaoCache() {
		String CacheName = "DaoCache";
		String CacheClass = "org.javawing.component.cache.LruCache";
		int CacheSize = 1024;
		int CacheLife = 10000;
		Cache daoCache = CacheFactory.createCache(CacheName, CacheClass,
				CacheSize, CacheLife);
		return daoCache;
	}

}

⌨️ 快捷键说明

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