请问为什么,使用DBCP连接池得不到记录,而用DBPool却可以
使用DBCP连接池得不到记录,而用DBPool却可以
程序可以正常运行,但就是不知道为什么得不到记录,用DBPool就可以得到记录;
但使用System.out.println(dbcpconn);打印的结果是:
jdbc:sqlserver://192.168.168.104:1433;responseBuffering=full;encrypt=false;databaseName=LTest;selectMethod=direct;trustServerCertificate=false;lastUpdateCount=true;, UserName=sa, Microsoft SQL Server 2005 JDBC Driver
package dbpooltest;
import java.sql.*;
import snaq.db.ConnectionPoolManager;
import org.apache.commons.dbcp.BasicDataSource;
/**
*
* @author lzk
* 2008-8-25 下午01:49:50
* @随机查询的实现
*/
public class SelectS {
private static Connection con = null;
private static PreparedStatement pstmt = null;
private static ResultSet rs = null;
public static Connection getDBPoolcon(){ //DBPool连接池
ConnectionPoolManager cpm = null;
Connection con = null;
long timeout = 2000;
try{
cpm = ConnectionPoolManager.getInstance("dbpool.properties");
}catch (Exception e){
System.out.println("Error Connection.getconnection(): "+e.getMessage());
}
try{
con = cpm.getConnection("localpool", timeout);
}catch (SQLException sqle){
System.out.println(sqle.getMessage());
}
return con;
}
public static Connection getDBCPcon(){ //dbcp连接池
Connection con = null;
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String URL = "jdbc:sqlserver://192.168.168.104:1433;DatabaseName=LTest";
BasicDataSource bds = new BasicDataSource();
try{
bds.setDriverClassName(driver);
bds.setUrl(URL);
bds.setUsername("sa");
bds.setPassword("ba123");
bds.setMaxActive( 50 ); //设置最大活动连接
bds.setMaxIdle( 10 ); //最大空闲连接
bds.setMaxWait( 10000 ); //最大等待时间
}catch(Exception e){
System.out.println("Error setConnection: "+e.getMessage());
}
try{
con = bds.getConnection();
}catch(Exception e){
System.out.println("Error getConnection:"+e.getMessage());
}
return con;
}
public static void main(String args[]) throws Exception{
PreparedStatement pstmt = null;
SelectS ss = new SelectS();
Connection DBPoolconn = ss.getDBPoolcon();
Connection dbcpconn = ss.getDBCPcon();
//System.out.println(dbcpconn);
for(int i=0; i<10; i++){
String selectSQL = "SELECT * FROM tablea_1 where num =?";
pstmt = dbcpconn.prepareStatement(selectSQL);
//pstmt = DBPoolconn.prepareStatement(selectSQL);
pstmt.setInt(1, i);
rs = pstmt.executeQuery();
while(rs.next()){
System.out.print(rs.getString(1)+" ");
System.out.println(rs.getString(2));
}
}
}
}
程序可以正常运行,但就是不知道为什么得不到记录,用DBPool就可以得到记录;
但使用System.out.println(dbcpconn);打印的结果是:
jdbc:sqlserver://192.168.168.104:1433;responseBuffering=full;encrypt=false;databaseName=LTest;selectMethod=direct;trustServerCertificate=false;lastUpdateCount=true;, UserName=sa, Microsoft SQL Server 2005 JDBC Driver
...全文
相关推荐
kagaedi web DBPOOL 带连接池
它可能使用了诸如C3P0、HikariCP、Apache DBCP等流行的Java连接池库。这些库提供了高效、稳定的连接管理和优化策略,如空闲连接检测、连接超时处理等,以确保系统的稳定性和性能。
dbpool dbpool mysql orcalce 操作数据库
**dbpool的实现** - Java中常用的数据库连接池工具有Apache的DBCP、C3P0、HikariCP等,它们提供了API供开发者集成到应用程序中。
dbcp连接池的jar包
使用DBCP连接池,开发者可以通过配置文件设定连接池的参数,如最大连接数、最小连接数、超时时间等,以实现数据库连接的高效利用。DBCP主要包含以下几个核心组件:1.
dbpool2.rar
总的来说,"dbpool2"是关于数据库连接池的实现,它旨在提供更高效、稳定和可控的数据库连接管理服务。通过理解和使用这样的连接池,可以显著提升应用程序在处理数据库操作时的性能和稳定性。
Dbpool,fileupload,mysql驱动
**数据库连接池(Dbpool)**: 数据库连接池是一种管理数据库连接的机制,它允许应用程序重复使用已建立的数据库连接,而不是每次需要时都创建新的连接。


Java SE

