Oracle连接池操作

一:首先是将JDBC的驱动包oracle6.jar复制到Tomcat安装路径下的llib目录下

二:在web工程目录下的META-INF\context.xml文件下输入以下代码(特别注意文件夹别搞错了):

 

span style="font-size:14px;color:#663366;"?xml version="1.0" encoding="UTF-8"?
Context debug="5" reloadable="true"
 WatchedResourceWEB-INF/web.xml/WatchedResource
  
Resource name="jdbc/oracle" type="javax.sql.DataSource" auth="Container"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:orcl"
    username="C##SCOTT"
    password="tiger"
    maxActive="5"
    maxIdle="2"
    maxWait="6000"
 /
/Context/span

 

在myeclipse中没有context.xml文件需要自己创建。

 

三:在web工程目录下的在WEB-INF\web.xml文件下配置以下代码

 

 span style="color:#009900;"resource-ref
      descriptionDB Connection/description
      res-ref-namejdbc/oracle/res-ref-name
      res-typejavax.sql.DataSource/res-type
      res-authContainer/res-auth
/resource-ref/span

 

四:配置完成后便是测试了

    Connection con = null;// 创建一个数据库连接
    Statement stmt = null;// 创建预编译语句对象,一般都是用这个而不用Statement
    ResultSet result = null;// 创建一个结果集对象
    
    try{    
       
        Context Ctx = new InitialContext();

        Context envCtx = (Context) Ctx.lookup("java:comp/env");
         DataSource ds = (DataSource) envCtx.lookup("jdbc/oracle");

        con = ds.getConnection();    
        System.out.println("数据库连接成功!");
        stmt = con.createStatement();    

        String strSql = "select * from usertable2";    

        result = stmt.executeQuery(strSql);    

        while(result.next()){    
             out.print(result.getString("username"));
            }

        }    

        catch(Exception ex){
         out.print("Exception is :"+ex.getMessage());    
         ex.printStackTrace();    
        }
        finally {
            try {
                // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
                // 注意关闭的顺序,最后使用的最先关闭
                result.close();
                stmt.close();
                con.close();
                System.out.println("数据库连接已关闭!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

 

转载于:https://www.cnblogs.com/qisong178878915/p/4086036.html

最新回复(0)
/jishuQ9Iizx7qOaTOJOgdhVvIzaDZsvDNkZ_2FynQi_2FKA_3D_3D
8