dbdriver.java

来自「jGossip是一个简单而功能强大的Java论坛软件(消息板)」· Java 代码 · 共 86 行

JAVA
86
字号
/*
 * $Id: DbDriver.java,v 1.2 2004/05/10 01:07:38 alexnet Exp $
 *
 * ***** BEGIN LICENSE BLOCK *****
 * The contents of this file are subject to the Mozilla Public License
 * Version 1.1 (the "License"); you may not use this file except in 
 * compliance with the License. You may obtain a copy of the License 
 * at http://www.mozilla.org/MPL/
 *
 * Software distributed under the License is distributed on an "AS IS"
 * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
 * the License for the specific language governing rights and 
 * limitations under the License.
 *
 * The Original Code is JGossip forum code.
 *
 * The Initial Developer of the Original Code is the JResearch, Org. 
 * Portions created by the Initial Developer are Copyright (C) 2004 
 * the Initial Developer. All Rights Reserved. 
 * 
 * Contributor(s): 
 *              Alexey Pavlov <alexnet@users.sourceforge.net>
 *        
 * ***** END LICENSE BLOCK ***** */
package org.jresearch.gossip.dao.drivers;

import java.util.ResourceBundle;

/**
 * DbDriver
 * 
 * @author <a href="alexnet@sourceforge.net">A. Pavlov</a>
 * @version $version$ 21.03.2004
 */
public abstract class DbDriver {
	
	static {
		String driverName = null;
		try {
			ResourceBundle dbconf = ResourceBundle.getBundle(
							"org/jresearch/gossip/resources/db");
			driverName = dbconf.getString("driverClassName");
			Class clazz = DbDriverRegistry.getInstance().getDriverClass(driverName);
			if(null == clazz)
			    throw new RuntimeException("Database driver ["+driverName+"] not supported.");
			DbDriver.instance = (DbDriver)clazz.newInstance();
		} catch (InstantiationException e) {
			e.printStackTrace(System.err);
			throw new RuntimeException("Database driver ["+driverName+"] can not be initialized.");
		} catch (IllegalAccessException e) {
			e.printStackTrace(System.err);
			throw new RuntimeException("Database driver ["+driverName+"] can not be initialized.");
		}
	}
	
	private static DbDriver instance;
	
	public static DbDriver getInstance()
	{
		return instance;
	}
	
	protected Queries queries;
	
	/**
	 * @return
	 */
	public Queries getQueries()
	{
		return this.queries; 
	}
	
	/**
	 * Map data type of object from resultset to internal type.
	 * Database data type NUMBER mapped to java.math.BigDecimal according to JDBCv2.
	 * This is not a case for MySql.   
	 * 
	 * @param object	Object from resultset.
	 * @return	Boject of mapped data type
	 * @throws ClassCastException
	 */
	public abstract Object mapObjectType(Object object)
							throws ClassCastException;

}

⌨️ 快捷键说明

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