Mega Code Archive

 
Categories / Java by API / Java Sql
 

PooledConnection

import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.ConnectionPoolDataSource; import javax.sql.PooledConnection; public class Main {   public static void main(String[] args) throws Exception {     Connection connection = getConnection();     // Do work with connection     Statement statement = connection.createStatement();     String selectEmployeesSQL = "SELECT * FROM employees";     ResultSet resultSet = statement.executeQuery(selectEmployeesSQL);     while (resultSet.next()) {       printEmployee(resultSet);     }     resultSet.close();     statement.close();     connection.close();   }   private static Connection getConnection() throws NamingException, SQLException {     InitialContext initCtx = createContext();     String jndiName = "HrDS";     ConnectionPoolDataSource dataSource = (ConnectionPoolDataSource) initCtx.lookup(jndiName);     PooledConnection pooledConnection = dataSource.getPooledConnection();     return pooledConnection.getConnection(); // Obtain connection from pool   }   private static InitialContext createContext() throws NamingException {     Properties env = new Properties();     env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory");     env.put(Context.PROVIDER_URL, "rmi://localhost:1099");     InitialContext context = new InitialContext(env);     return context;   }   private static void printEmployee(ResultSet resultSet) throws SQLException {     System.out.print(resultSet.getInt("employee_id") + ", ");     System.out.print(resultSet.getString("last_name") + ", ");     System.out.print(resultSet.getString("first_name") + ", ");     System.out.println(resultSet.getString("email"));   } }