我才接触java不久,当前遇到的问题是,感觉java连接数据库的效率不高。我通过java程序连接mysql数据库后执行一条查询命令(查询返回结果只有1条)大约耗时间1秒左右。不知道是不是我哪儿操作有问题,但我的程序确实要这么长时间……不知道jsp+servlet能不能实现这样的功能:
当网站第一次被访问时,servlet和数据库建立一个数据连接。而这个连接一直保持着,今后当servlet需要和数据库连接时,直接使用这个保持着的数据库连接。而不用新建数据连接。或者各位前辈有没有别的办法提高java连接数据库的效率呢?以下是我那段连接mysql数据库做程序需要耗时1秒的程序:===============================================================
DBconn.java
------------------
import java.sql.*;
public class DBconn {
String DBDriver="com.mysql.jdbc.Driver";
String ConnStr="jdbc:mysql://localhost/lvo";
String MyUser="root";
String MyPassword="111";
Connection conn = null;
ResultSet rs = null; public DBconn(){
        try {
            Class.forName(DBDriver).newInstance();
        } catch (Exception e) {
    }
} public ResultSet executeQuery(String sql) {
rs = null;
try{
conn = DriverManager.getConnection(ConnStr,MyUser,MyPassword);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE , ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery(sql);
}catch(SQLException e){
}
return rs;
} public ResultSet executeUpdate(String sql) {
try{
conn = DriverManager.getConnection(ConnStr,MyUser,MyPassword);
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE , ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
}catch(SQLException e){
}
return rs;
}
}
===============================================================
===============================================================
T.java
-------------------------------
import java.sql.*;
public class T
{
public static void main(String args[]){
try{
DBconn db = new DBconn();
System.out.println("step1");
db.executeUpdate("Update user set username = 'abcde'");
System.out.println("step2");
db.executeQuery("select * from user");
System.out.println("step3");
if (db.rs.next())
{
System.out.println(db.rs.getString("username"));
}
}catch (Exception e){
}
}
}
==========================================================执行结果为:
step1
step2
step3
abcde其中"step1"显示后大概需要等1秒才出现"step2"
而显示"step2"和"step3"、"abcde"几乎是同时的。谢谢各位指点。(我只有30分了 不好意思。)