日期:2014-05-18  浏览次数:20780 次

JDBC执行查询时的Connection问题
现在想利用JDBC执行 "Select   *... "的SQL语句查询,
一般是由DriverManager或连接池得到Connection对象,由Connection对象得到Statement对象,然后执行.executeQuery(strSQL)的方法。

如果有多条 "Select   *... "的SQL语句需要一起执行,每个SQL语句查询不同的表,返回各自的ResultSet结果对象,请问这样的需求是每个SQL执行查询时都得到一个Connection连接,还是只用一个Connection连接,利用这一个连接进行所有的查询?

每得到一个Connection连接对系统的性能影响大么?

如果可以只用一个Connection连接的话,在多用户访问的情况下,是否可以?

谢谢

------解决方案--------------------
1.可以只用一个Connection连接
2.在取得一个数据库连接时需要很多系统资源的
3.可以
其实你改在一个具体功能模块里面取得一个数据库连接,在使用完连接close,更好一点就是使用连接池。


------解决方案--------------------
可以,创建一个全局Connection变量,用getConnection()获得。
用完再写一个closeConnection()方法把它关了就行
------解决方案--------------------
不但可以,而且最好用一个连接
------解决方案--------------------
可以实现,在取得Connection的时候,利用单例模式
public Connection getConnection(){
if(conn == null ){
conn = new Connection();
}
return conn ;
}
------解决方案--------------------
可以
------解决方案--------------------


顶 yksky(北风) ,但是最好用连接池
------解决方案--------------------
用连接池,获取一个连接后执行多个查询,最后关闭即可 ,但是每次查询的rs都要赶紧取出来
------解决方案--------------------
可以使用同一个connection对象
但是建议statement和retsultset对象不同!
------解决方案--------------------
不管你怎么select * from XXX...Connection只针对的是一个库。。而中有许多表啊。你可以随便操作啊。。如果你要同时查询多个表的话我觉得用事务比较好一些,而且还安全。。如果在创建一个Connection那就不同的对象了。
------解决方案--------------------


可以实现,在取得Connection的时候,利用单例模式
public Connection getConnection(){
if(conn == null ){
conn = new Connection();
}
return conn ;
}


不过更推荐利用数据库连接池

顶 yksky(北风),allan6122(上海滩的苦力程序员)