今天在做四则运算网页版的时候遇到了一个困惑,由于需要把每个产生的式子存进
数据库,所以就需要很多次重复的加载驱动,建立连接等操作,这样一方面写程序不方便,加大了程序量,另一方面,还有导致数据库的性能急剧下降,那么怎么解决这个问题呢?
我所学到的方法就是通过JDBC数据源和连接池的方式来解决这个问题。利用DataSource来建立数据库的连接不需要加载JDBC驱动,也不需要DriverManager类,通过向一个JNDI服务器查询来得到DataSource对象,然后调用DataSource对象的getConnection()方法来建立数据库的连接。下面代码是一个使用DataSource来建立数据库的连接的实例:
//创建连接和语句对象
Connection conn=null;
Statement stmt=null;try{
Context ctx=newInitialContext();
//javax.naming.Context接口定义了将对象和名字绑定,
//以及通过名字查询对象的方法lookup()。
DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/calculation");
conn=ds.getConnection();
stmt=conn.createStatement();
String sql="insert into biaodashi values('"+result+"')";
stmt.execute(sql);