首页上一页 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]
}

	
                                                
购物车
发表新帖
立即签到
                    
                






