• Oracle连接池操作


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

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

    <span style="font-size:14px;color:#663366;"><?xml version="1.0" encoding="UTF-8"?>
    <Context debug="5" reloadable="true">
     <WatchedResource>WEB-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-INFweb.xml文件下配置以下代码

     <span style="color:#009900;"><resource-ref>
          <description>DB Connection</description>
          <res-ref-name>jdbc/oracle</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</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();
                }
            }
  • 相关阅读:
    迭代器生成器
    eval()
    【剑指offer】调整数组数字位置
    【剑指offer】二进制中1的个数
    【剑指offer】斐波那契数列非递归求解第N项
    【剑指offer】两个栈实现队列
    【剑指offer】逆序输出链表
    【剑指offer】字符串替换
    【剑指offer】规则二维数组查找
    Java转型
  • 原文地址:https://www.cnblogs.com/qisong178878915/p/4086036.html
Copyright © 2020-2023  润新知