现在想利用JDBC执行"Select *..."的SQL语句查询,
一般是由DriverManager或连接池得到Connection对象,由Connection对象得到Statement对象,然后执行.executeQuery(strSQL)的方法。如果有多条"Select *..."的SQL语句需要一起执行,每个SQL语句查询不同的表,返回各自的ResultSet结果对象,请问这样的需求是每个SQL执行查询时都得到一个Connection连接,还是只用一个Connection连接,利用这一个连接进行所有的查询?每得到一个Connection连接对系统的性能影响大么?如果可以只用一个Connection连接的话,在多用户访问的情况下,是否可以?谢谢
一般是由DriverManager或连接池得到Connection对象,由Connection对象得到Statement对象,然后执行.executeQuery(strSQL)的方法。如果有多条"Select *..."的SQL语句需要一起执行,每个SQL语句查询不同的表,返回各自的ResultSet结果对象,请问这样的需求是每个SQL执行查询时都得到一个Connection连接,还是只用一个Connection连接,利用这一个连接进行所有的查询?每得到一个Connection连接对系统的性能影响大么?如果可以只用一个Connection连接的话,在多用户访问的情况下,是否可以?谢谢
2.在取得一个数据库连接时需要很多系统资源的
3.可以
其实你改在一个具体功能模块里面取得一个数据库连接,在使用完连接close,更好一点就是使用连接池。
用完再写一个closeConnection()方法把它关了就行
public Connection getConnection(){
if(conn == null ){
conn = new Connection();
}
return conn ;
}
但是建议statement和retsultset对象不同!
public Connection getConnection(){
if(conn == null ){
conn = new Connection();
}
return conn ;
}
不过更推荐利用数据库连接池顶 yksky(北风),allan6122(上海滩的苦力程序员)