JAvaにおけるオープンソースデータソースの簡単な実用性

3977 ワード

一、DBCPデータソース
a、概要:DBPDataBase Connection Pool
b、Apache組織が行うオープンソースのデータソース(DataSource)実現
c、使用:
1、jarパッケージのコピー:データベースの駆動jar;commons-dbcp-1.4.jar;commons-pool-1.5.6.jar
2、構築経路の最上位に、以下の内容のプロファイルを作成する:03 dbcpconfig.properties
3、ツール類の作成:
import java.io.InputStream;
import java.util.Properties;
import java.sql.Connection;
import java.sql.SQLException;
import javax.management.RuntimeErrorException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBCPUtil {
		
	private static DataSource dataSource;
	static {
			
			try {	
				//            
				InputStream  in  = DBCPUtil.class.getClassLoader().getResourceAsStream("properties/dbcpcfg.properties");
				//  properties          
				Properties  pop = new Properties();
				pop.load(in);
				
				//     
				dataSource = BasicDataSourceFactory.createDataSource(pop);
			} catch (Exception e) {
				e.printStackTrace();
				throw new  RuntimeException("        !");
				
			}			 
	}
	// DBCP    Connection
	public static  Connection  getConnection(){
		 
		 try {
			return dataSource.getConnection();
		} catch (SQLException e) {
			throw  new  RuntimeException("         ");
		}
	 }
	//  DataSource   
	public static DataSource getDataSource() {
		return  dataSource;
	}
}	

dbcpcfg.propertiesプロファイルは次のとおりです.
#接続設定driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb1 username=root password=paladin #initialSize=10#最大接続数maxActive=50#maxIdle=20#minIdle=5#maxWait=60000#JDBCドライバ接続時に付属する接続属性のフォーマットは、[属性名=property];#注意:「user」と「password」の2つのプロパティが明確に渡されるため、ここにはそれらを含める必要はありません.connectionProperties=useUnicode=true;characterEncoding=utf 8#接続プールによって作成された接続の自動コミット(auto-commit)ステータスを指定します.defaultAutoCommit=true#driver default接続プールによって作成された接続の読取り専用(read-only)ステータスを指定します.#この値が設定されていない場合、setReadOnlyメソッドは呼び出されません.(一部のドライバでは、Informixなどの読み取り専用モードはサポートされていません)defaultReadOnly=#driver defaultは、接続プールによって作成された接続のトランザクション・レベルを指定します.#使用可能な値は、(詳細はjavadocが表示されます.)NONE、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ、SERIALIZABLE defaultTransactionIsolation=REPEATABLE_READ
二、C 3 P 0データの配置a、紹介:非常に優秀なオープンソースのデータソースb、どのように使用するか:1、コピーjarパッケージ:c 3 p 0-0.9.1.2.jar;c3p0-0.9.1.2-jdk1.3.jar(JDKバージョン低);c 3 p 0-oracle-thin-extras-0.9.1.2.jar(oracleサービス用)2、プロファイルの作成:リリースパッケージのドキュメント参照
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class C3P0Util {
	private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
//	          ,          
//	private static ComboPooledDataSource dataSource = new ComboPooledDataSource("intergalactoApp");
	
	public static Connection getConnection(){
		try {
			return dataSource.getConnection();
		} catch (SQLException e) {
			throw new RuntimeException("         ");
		}
	}
	public static DataSource getDataSource(){
		return dataSource;
	}
}

クラスのロードディレクトリの下にc 3 p 0-configという名前を設定.xmlのXMLファイル com.mysql.jdbc.Driver jdbc:mysql:///mydb1 root paladin 10 30 100 10 200 10 30 100 10 200