首页上一页 1 下一页尾页 5 条记录 1/1页
第七章 物流信息网 问题
发表在Java图书答疑
2009-08-14
是否精华
是
否
版块置顶:
是
否
package com.wy;
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.*;
public class JDBConnection {
private static DataSource ds=null;//设置DataSource类的对象
private static Connection conn =null; //设置Connection类的对象
private static Statement st = null; //设置Statement类的对象
private ResultSet rs=null; //设置ResultSet类的对象
static {
try {
Context ctx = new InitialContext();
ctx = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) ctx.lookup("TestJNDI"); //取得连接池数据源
conn = ds.getConnection(); //取得数据库的连接
} catch (Exception e) {
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) {
try {
st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = st.executeQuery(sql); //执行对数据库的查询操作
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Query Exception");//在控制台中输入异常信息
}
return rs; //将查询的结果通过return关键字返回
}
public boolean executeUpdata(String sql) {
try {
st = conn.createStatement(); //创建声明对象连接
st.executeUpdate(sql); //执行添加、修改、删除操作
return true; //如果执行成功则返回true
} catch (Exception e) {
e.printStackTrace();
return false; //如果执行成功则返回false
}
}
[font color=#FF0000]代码中用 static 进行了静态变量初始化,根据static 的相关定义,我理解static{}中的静态变量只会初始化一次,那么为什么还要搞个数据库连接池呢,既然只初始化一次就只会取一个连接,所有的实例都可以共用这个连接,一个连接是不是就可以了??!!
[/font]
}
import java.sql.*;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.*;
public class JDBConnection {
private static DataSource ds=null;//设置DataSource类的对象
private static Connection conn =null; //设置Connection类的对象
private static Statement st = null; //设置Statement类的对象
private ResultSet rs=null; //设置ResultSet类的对象
static {
try {
Context ctx = new InitialContext();
ctx = (Context) ctx.lookup("java:comp/env");
ds = (DataSource) ctx.lookup("TestJNDI"); //取得连接池数据源
conn = ds.getConnection(); //取得数据库的连接
} catch (Exception e) {
e.printStackTrace();
}
}
public ResultSet executeQuery(String sql) {
try {
st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = st.executeQuery(sql); //执行对数据库的查询操作
} catch (SQLException e) {
e.printStackTrace();
System.out.println("Query Exception");//在控制台中输入异常信息
}
return rs; //将查询的结果通过return关键字返回
}
public boolean executeUpdata(String sql) {
try {
st = conn.createStatement(); //创建声明对象连接
st.executeUpdate(sql); //执行添加、修改、删除操作
return true; //如果执行成功则返回true
} catch (Exception e) {
e.printStackTrace();
return false; //如果执行成功则返回false
}
}
[font color=#FF0000]代码中用 static 进行了静态变量初始化,根据static 的相关定义,我理解static{}中的静态变量只会初始化一次,那么为什么还要搞个数据库连接池呢,既然只初始化一次就只会取一个连接,所有的实例都可以共用这个连接,一个连接是不是就可以了??!!
[/font]
}