JNDI用法:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
// Look up our data source
DataSource ds = (DataSource) envCtx.lookup("jdbc/EmployeeDB");
conn = ds.getConnection();
String sql = "select * from account";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtils.release(rs, stmt, conn);
}
}
C3P0
public void demo2(){
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
// 创建连接池
ComboPooledDataSource dataSource = new ComboPooledDataSource("oracle");
// 获得连接
conn = dataSource.getConnection();
String sql = "select * from account";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, stmt, conn);
}
}
JDBC
public void demo2(){
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try{
// 获得连接
InputStream is = DBCPTest.class.getClassLoader().getResourceAsStream("dbcp.properties");
Properties pro = new Properties();
pro.load(is);
DataSource dataSource = BasicDataSourceFactory.createDataSource(pro);
conn = dataSource.getConnection();
// 编写SQL
String sql = "select * from account";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
while(rs.next()){
System.out.println(rs.getInt("id")+" "+rs.getString("name")+" "+rs.getDouble("money"));
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(rs, stmt, conn);
}
}