DBUtils.java import java.sql.Connection; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; import javax.transaction.UserTransaction; public class DBUtils ... { private static final String DATASOURCE_JNDI_NAME = "DataSourceName"; private static final String USER_TRANSACTION_JNDI_NAME = "javax.transaction.UserTransaction"; public static DataSource getDataSource() throws Exception ...{ Context ctx = getContext(); return (DataSource) ctx.lookup(DATASOURCE_JNDI_NAME); } public static UserTransaction getUserTransaction() throws Exception ...{ Context ctx = getContext(); return (UserTransaction) ctx.lookup(USER_TRANSACTION_JNDI_NAME); } public static Context getContext() throws Exception ...{ return new InitialContext(); } public static Connection getConnection() throws Exception ...{ return getDataSource().getConnection(); }} 使用时 import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; public void idTypeToDesc( int idType) /**/ /*将客户证件号码转换成中文描述,和数据库中对应*/ ... { Connection cn = null; PreparedStatement st = null; ResultSet rset = null; String sqlstr; idType=100; try ...{ cn = DBUtils.getConnection(); st = cn.prepareStatement("select desc from TYPEDESC where desc_no=?"); st.setBigDecimal(1, idType); rset = st.executeQuery(); if ( rset.next() == true ) ...{ this.setIdTypeDesc(rset.getString("desc")); } else ...{ /**//*报错误*/ } } catch (Exception e) ...{ e.printStackTrace(); } finally ...{ try ...{ if ( rset!=null) rset.close(); }catch (Exception e)...{ } try ...{ if ( st!=null) st.close(); }catch (Exception e)...{ } try ...{ if ( cn!=null) cn.close(); }catch (Exception e)...{ } } } (在使用时还应根据需要修改方可实现,比如还要加入setIdTypeDesc()方法等)