[MySQL]利用apache第三方jar包,编写的的JDBCUtils工具类过程及内容详解.附带配置文件的详细注解.

前几天自己写了一个原始版本的MySQL数据库的JDBCUtils工具类.工作中是基本用不到的,单纯是为新人了解数据库连接提供学习帮助.

今天又写了一个利用apache第三方jar包,编写的的JDBCUtils工具类,算是上个版本的升级版,其中运用到连接池去保存创建数据库连接,但是依旧不是最终版.因为C3p0这个jar包比apache来的更简洁.

第三方jar包的使用,能大大提高开发的效率. 常见的一些方法功能,如果有jar包实现, 就不建议自己手动敲. 时间应该更好更合理的利用起来.

下面依旧是直接上代码.

package a;
import java.io.InputStream;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;

public class JDBCUtils {
	//第五步:在方法外定义数据源对象 ,静态的是为了只跟随类加载一次.先赋值,是为了,防止运行时发生异常,未赋值的变量无法使用.
	public static DataSource ds = null ;
	//第六步:将之前的重复代码写入静态代码块,跟随类一起加载,节省资源.
	static{	
		try {
			//第二步,通过反射  通过本类的字节码文件得到一个类的加载器,加载器将文件加载入内存,得到其对应的输入流,文件为dbcpconfig.properties,此文件存在src目录下,编译时,程序会将其自动复制到bin目录中.
			InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
			//第三步:将流中的数据读入到	Properties集合中,加载的时候需要抛出异常
			Properties ps = new Properties();
			ps.load(in);
			//第四步:利用阿帕奇包内的数据源工厂,根据集合内的参数生成一个数据源,此处也 要抛出异常,索性和上面一起抛出.
			ds = BasicDataSourceFactory.createDataSource(ps);	
		} catch (Exception e) {
			//打印异常信息
			e.printStackTrace();
			//如果异常,抛出运行时,直接停止程序.
			throw new RuntimeException();
		}
	}
	//第一步:创建一个方法,返回值是数据源对象DataSource,方法名为getDataSource
	public DataSource getDataSource(){
		return ds;
	}
}
下面是配置文件内容及其详解:

#连接设置
driverClassName=com.mysql.jdbc.Driver
url=
username=
password=

#
initialSize=10

#最大连接数量
maxActive=50

#
maxIdle=20

#
minIdle=5

#
maxWait=60000


#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;] 
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=gbk

#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true

#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=READ_UNCOMMITTED


你可能感兴趣的:([MySQL]利用apache第三方jar包,编写的的JDBCUtils工具类过程及内容详解.附带配置文件的详细注解.)