连接BEAN:
//mysqltest.java
package news;
import java.sql.*;
import java.util.HashMap;
import javax.sql.*;
import javax.naming.*;
public class mysqltest
{
private static DataSource ds=null;
private static Connection conn= null;
Statement stmt = null;
PreparedStatement pstmt=null;
ResultSet rs = null;
public static DataSource localhost(){
//在HashMap中通过get()来获取value,通过put()来插入value,
//ContainsKey()则用来检验对象是否已经存在
HashMap <Object,Object> cachedDs=new HashMap <Object,Object> ();
if(cachedDs.containsKey( "ds "))//取出空闲状态的数据库连接
{
/* 在DataSource中事先建立了多个数据库连接,
* 这些数据库连接保存在连接池(Connect Pool)中。
* Java程序访问数据库时,只需要从连接池中取出空闲状态的数据库连接;
* 当程序访问数据库结束,再将数据库连接放回连接池。
* */
ds = (DataSource)cachedDs.get( "ds ");
}
else
try
{
/*在javax.naming包中提供了Context接口,
* 该接口提供了将对象和名字绑定,以及通过名字检索对象的方法。
* */
InitialContext initCtx = new InitialContext();
//lookup(String name):返回与指定的名字绑定的对象,获得数据库连接工厂
ds = (DataSource)initCtx.lookup( "java:comp/env/jdbc/jlpd ");
cachedDs.put( "ds ", ds);