无为

无为则可为,无为则至深!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks

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 MainClass {
  public static void main(String[] args) {
    Connection connection = null;
    Statement statement = null;
    ResultSet resultSet = null;

    try {
      connection = getConnection();
      // 操作连接
      statement = connection.createStatement();
      String selectEmployeesSQL = "SELECT * FROM employees";
      resultSet = statement.executeQuery(selectEmployeesSQL);

      while (resultSet.next()) {
        printEmployee(resultSet);
      }
    catch (Exception e) {
      e.printStackTrace();
    finally {
      if (resultSet != null) {
        try {
          resultSet.close();
        catch (SQLException e) {
        // nothing we can do
      }
      if (statement != null) {
        try {
          statement.close();
        catch (SQLException e) {
        // nothing we can do
      }
      if (connection != null) {
        try {
          connection.close();
        catch (SQLException e) {
        // nothing we can do
      }
    }
  }

  private static Connection getConnection() throws NamingException, SQLException {
    InitialContext initCtx = createContext();
    String jndiName = "HrDS";
    ConnectionPoolDataSource dataSource = (ConnectionPoolDataSourceinitCtx.lookup(jndiName);
    PooledConnection pooledConnection = dataSource.getPooledConnection();
    return pooledConnection.getConnection()// 从池中得到连接
  }

  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 resultSetthrows 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"));
  }

}

           
       


凡是有该标志的文章,都是该blog博主Caoer(草儿)原创,凡是索引、收藏
、转载请注明来处和原文作者。非常感谢。

posted on 2007-09-28 14:10 草儿 阅读(1324) 评论(3)  编辑  收藏 所属分类: java

Feedback

# re: DB连接池管理编程举例 2007-09-28 15:00 千里冰封
多点中文说明会更好一些  回复  更多评论
  

# re: DB连接池管理编程举例 2007-09-28 18:30 beijixuem
有点晕呀 请博主以后多写一点注释  回复  更多评论
  

# re: DB连接池管理编程举例 2007-10-20 20:20 Qsam
实际开发中 的数据源是在配制文件写的吧。。就是不需要createContext() 方法。请指点。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: