设为首页 加入收藏

TOP

使用JDBC连接MySQL数据库--典型案例分析(三)----使用ApachDBCP连接池d(二)
2015-07-24 11:31:43 来源: 作者: 【 】 浏览:3
Tags:使用 JDBC 连接 MySQL 数据库 典型 案例分析 ---- ApachDBCP
dataSource.setUsername(username); dataSource.setPassword(password); //初始化连接数 if(initialSize!=null){ dataSource.setInitialSize(Integer.parseInt(initialSize)); } //最小空闲连接 if(minIdle!=null){ dataSource.setMinIdle(Integer.parseInt(minIdle)); } //最大空闲连接 if(maxIdle!=null){ dataSource.setMaxIdle(Integer.parseInt(maxIdle)); } //超时回收时间(以毫秒为单位) if(maxWait!=null){ dataSource.setMaxWait(Long.parseLong(maxWait)); } //最大连接数 if(maxActive!=null){ if(!maxActive.trim().equals("0")){ dataSource.setMaxActive(Integer.parseInt(maxActive)); } } } catch (Exception e) { e.printStackTrace(); System.out.println("创建连接池失败!请检查设置!!!"); } } } 步骤四:添加获取连接的方法

在ConnectionSource类中添加获取连接的方法,getConnection,代码如下所示:

public static synchronized Connection getConnection() throws SQLException{
			if(dataSource==null){
				init();
			}
			Connection con=null;
			if(dataSource!=null){
				con=dataSource.getConnection();
			}
			return con;
		}
步骤四 :重构EmpDAO类

重构EmpDAO类,在该类中使用ConnectionSource类的getConnection()方法获取连接,代码如下所示:

package dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class EmpDAO {
	public static void main(String [] args){
		EmpDAO dao=new EmpDAO();
		dao.findAll();
	}
	public void findAll(){
		Connection con=null;
		Statement stmt=null;
		ResultSet rs=null;
		
		try {
			con=ConnectionSource.getConnection();
			stmt=con.createStatement();
			rs=stmt.executeQuery("select empno,ename,sal,hiredate from emp;");
			while(rs.next()){
				System.out.println(rs.getInt("empno")+","+rs.getString("ename")+","+rs.getDouble("sal")+","+rs.getDate("hiredate"));
			}
		} catch (SQLException e) {
			System.out.println("数据库访问异常!");
			throw new RuntimeException(e);
		}
		finally{
			try {
				if(rs!=null){
						rs.close();
					}
					if(stmt!=null){
						stmt.close();
					}
					if(con!=null){
						con.close();
					}
			} catch (SQLException e) {
				System.out.println("释放资源时发生异常!");
			}
		}
	}
}
在此,调用Connection类的close方法关闭连接,会将该连接归还到连接池中。

运行EmpDAO类,输出如下:

和之前的案例输出结果一致。

本节,先更新到这里,下次继续写:如何更新和插入Emp数据。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇使用JDBC连接MySQL数据库--典型案.. 下一篇使用JDBC连接MySQL数据库--典型案..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)
·囧次元最新官网入口 (2025-12-25 00:19:24)
·如何利用Python做数 (2025-12-24 23:48:36)
·如何使用python进行 (2025-12-24 23:48:34)