经测试,打开/关闭一条数据库需要4或5秒
整个一条功能流程从开始到结束一共10秒,2次数据库打开占用了9秒~~!数据库连接是这样写的:四个类 0.应用类:调用接口类 1.主类:提供的接口类 2.业务类:执行查询的类 3.连接类:连接数据库
0.应用类
public class OOO()
{
public void getMyInfo()
{
AAA a=new AAA()
a.Run1();
a.Run2();
}
}
1主类public class AAA()
{
public String Run1()
{
BBB b=new BBB();
String n=b.getName();
b.closeConn();
return n;
}
public String Run2()
{
BBB b=new BBB();
String a=b.getAge();
b.closeConn();
return a;
}
}3.业务类--写法一
public class BBB()
{
private Connection conn=CCC.getConn();
public String getName(){...stmt...rs...}
public String getAge(){...stmt...rs...}
public void closeConn(){CCC.dbclose(conn);}
}3.业务类--写法二 //这么写的话,主类AAA多一步b.openConn();
public class BBB()
{
private Connection conn=null;
public void openConn()
{
conn=CCC.getConn();
}
public String getName(){...stmt...rs...}
public String getAge(){...stmt...rs...}
public void closeConn(){CCC.dbclose(conn);}
}4.连接类
public class CCC()
{
private static Connection conn = null;
public static Connection getConn(){}
public static void dbclose(Connection conn){}
}
上面的数据库连接编写的合理么,那里有不对的地方?以上面的写法打开/关闭一条连接要4,5秒,很慢,怎么能改进一下.(目前没有使用连接池,JDBC直接连接),如果用连接池打开一条连接最快能到1,2秒么?
整个一条功能流程从开始到结束一共10秒,2次数据库打开占用了9秒~~!数据库连接是这样写的:四个类 0.应用类:调用接口类 1.主类:提供的接口类 2.业务类:执行查询的类 3.连接类:连接数据库
0.应用类
public class OOO()
{
public void getMyInfo()
{
AAA a=new AAA()
a.Run1();
a.Run2();
}
}
1主类public class AAA()
{
public String Run1()
{
BBB b=new BBB();
String n=b.getName();
b.closeConn();
return n;
}
public String Run2()
{
BBB b=new BBB();
String a=b.getAge();
b.closeConn();
return a;
}
}3.业务类--写法一
public class BBB()
{
private Connection conn=CCC.getConn();
public String getName(){...stmt...rs...}
public String getAge(){...stmt...rs...}
public void closeConn(){CCC.dbclose(conn);}
}3.业务类--写法二 //这么写的话,主类AAA多一步b.openConn();
public class BBB()
{
private Connection conn=null;
public void openConn()
{
conn=CCC.getConn();
}
public String getName(){...stmt...rs...}
public String getAge(){...stmt...rs...}
public void closeConn(){CCC.dbclose(conn);}
}4.连接类
public class CCC()
{
private static Connection conn = null;
public static Connection getConn(){}
public static void dbclose(Connection conn){}
}
上面的数据库连接编写的合理么,那里有不对的地方?以上面的写法打开/关闭一条连接要4,5秒,很慢,怎么能改进一下.(目前没有使用连接池,JDBC直接连接),如果用连接池打开一条连接最快能到1,2秒么?
Tomcat的DBCP,这个用MySQL时配置过.
先试试看
总时间2秒! 牛不过有个很诡异的参数 SelectMethod=cursor 不添加会有问题,不知道什么意思,网上查到的conf\Catalina\localhost里的xml文件
url="jdbc:microsoft:sqlserver://212.151.244.192:1433;DatabaseName=mydb;SelectMethod=cursor?