如何创建数据源进行与数据库的连接

首先把ojdbc14.jar放在Tomcat里的lib文件夹下;
然后再tomcat/conf/server.xml里配置数据源;
最后使用数据源,运行时不需要把任务加载到tomcat里,直接运行就行,因为已经配置好了数据源。
数据源访问速度更快,效率更高。
具体实现代码如下:
server.xml:

        <Context path="/Jspdemo" docBase="D:\workspace\Jspdemo\WebRoot" reloadable="true">
            <Resource 
                name="oracle"
                auth="container"
                type="javax.sql.DataSource"
                driverClassName="oracle.jdbc.driver.OracleDriver"
                url="jdbc:oracle:thin:@localhost:1521:oracle"
                username="abc"
                password="abc"
                maxActive="1000"
                maxIndle="20"
                maxWait="10000"
            />
        </Context>

ConnectionUtils.java

package com.jdbc.common;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;




public class ConnectionUtils {
    public static DataSource ds;

    public static DataSource getDataSource(){
        try {
            ds=(DataSource) new InitialContext().lookup("java:/comp/env/oracle");
        } catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return ds;  
    }


    public static Connection getConnection(){
        Connection con=null;
        Statement st=null;
        if(ds==null){
            ds=getDataSource();
        }
        try {
            con=ds.getConnection();
        } catch (SQLException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }finally{
            //如果找不到数据源
            try {
                //1.加载驱动
                Class.forName("oracle.jdbc.driver.OracleDriver");
                //2.建立连接
                con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:inspur","scott","tiger");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return con; 
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值