public class DBUtils {
//1.幫助類---DataSource
private DataSource dataSource =null;
//2.通過構造函 數讀取組態檔并實體化DataSource
public DBUtils() {
//2-1、當前組態檔
InputStream inputStream = DBUtils.class.getClassLoader().getResourceAsStream("dbcpconfig.properties");
//把組態檔中的內容存放在容器中
Properties properties =new Properties();
try {
properties.load(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2-2.通過工廠模式、實體化DateSource
try {
dataSource =BasicDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//3、向外界、通過獲取連接的方法
public Connection getConn() {
Connection connection =null;
try {
connection =dataSource.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
//4.關閉連接
public void close(Connection connection,Statement statement,ResultSet resultSet) {
try {
if(resultSet !=null)resultSet.close();
if(statement !=null)statement.close();
if(connection !=null)connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
DBUtils dbutils =new DBUtils();
System.out.println(dbutils.getConn());
}
dbcpconfig.properties 組態檔
#連接設定
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3305/j2011_01?useUnicode=true&characterEncoding=utf-8;
username=root
password=123456
#<!-- 初始化連接 -->
initialSize=10
#最大連接數量
maxActive=50
#<!-- 最大空閑連接 -->
maxIdle=20
#<!-- 最小空閑連接 -->
minIdle=5
#<!-- 超時等待時間以毫秒為單位 6000毫秒/1000等于60秒 -->
maxWait=60000
#JDBC驅動建立連接時附帶的連接屬性屬性的格式必須為這樣:[屬性名=property;]
#注意:"user" 與 "password" 兩個屬性會被明確地傳遞,因此這里不需要包含他們,
connectionProperties=useUnicode=true;characterEncoding=gb2312
#指定由連接池所創建的連接的自動提交(auto-commit)狀態,
defaultAutoCommit=true
#driver default 指定由連接池所創建的連接的只讀(read-only)狀態,
#如果沒有設定該值,則“setReadOnly”方法將不被呼叫,(某些驅動并不支持只讀模式,如:Informix)
defaultReadOnly=
#driver default 指定由連接池所創建的連接的事務級別(TransactionIsolation),
#可用值為下列之一:(詳情可見javadoc,)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
#oracle只支持READ_COMMITTED(默認),SERIALIZABLE
defaultTransactionIsolation=REPEATABLE_READ
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/241905.html
標籤:其他
上一篇:111111
