JDBC第一天连接池案例

JDBC,JDBC的工具类JDBC

连接从连接池中拿:

创建连接池的语句:

package day01;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.apache.commons.dbcp2.BasicDataSource;

public class DBUtils {
    private static String driver = null;
    private static String url = null;
    private static String user = null;
    private static String password = null;

    private static BasicDataSource ds = null;
    //静态块
    static{
        Properties props = new Properties();
        try {
            //路径使用包路径
            String path = "day01/db.properties";
            props.load(
                       DBUtils.class.getClassLoader()
                       .getResourceAsStream(path));

            driver  = props.getProperty("driver");
            url  = props.getProperty("url");
            user  = props.getProperty("user");
            password  = props.getProperty("password");
            //ds中已经有了几个创建好的连接
            ds = new BasicDataSource();//创建连接池
            ds.setDriverClassName(driver);
            ds.setUrl(url);
            ds.setUsername(user);
            ds.setPassword(password);
            ds.setInitialSize(
                    Integer.parseInt(props.getProperty("intialSize")));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /*创建连接*/
    public static Connection getConnection()
       throws ClassNotFoundException, SQLException{
        Connection conn = null;
        if(ds!=null){
             conn = ds.getConnection();
        }
        return conn;
    }

}

配置文件:

#key = value
driver =   oracle.jdbc.OracleDriver
url =   jdbc:oracle:thin:@localhost:1521:xe
user =   fengweijie
password=   1070937053

#driver = com.mysql.jdbc.Driver
#url = jdbc:mysql:localhost:3306/test?useUni

intialSize = 10

时间: 2024-08-06 11:56:57

JDBC第一天连接池案例的相关文章

eclipse下jdbc数据源与连接池的配置及功能简介

今天在做四则运算网页版的时候遇到了一个困惑,由于需要把每个产生的式子存进 数据库,所以就需要很多次重复的加载驱动,建立连接等操作,这样一方面写程序不方便,加大了程序量,另一方面,还有导致数据库的性能急剧下降,那么怎么解决这个问题呢? 我所学到的方法就是通过JDBC数据源和连接池的方式来解决这个问题.利用DataSource来建立数据库的连接不需要加载JDBC驱动,也不需要DriverManager类,通过向一个JNDI服务器查询来得到DataSource对象,然后调用DataSource对象的g

JavaWeb系列之十三(jdbc事务与连接池)

 1.事务:表示一组操作要么都成功,有一个失败,所有操作都会失败. 在mysql要使用事务,就要先开启事务,语句start transaction,提交事务:commit 回滚事务:rollback. 转账: 2.jdbc事务的操作 (1)操作事务的方法 setAutoCommit(boolean autoCommit) 设置事务的提交方式,默认自动提交,设置为fals不会提交 提交事务commit() 回滚事务rollback() 使用jdbc来完成转账 小金跟小李接一千 (2)设置事务的

JDBC数据源和连接池

数据库连接池就是在应用程序启动时就创建足够多的数据库连接池,在java程序中需要访问 数据库时就可以通过数据源取得一个空闲连接,用完在返还到连接池中 实例: 在Tomcat6.0中+MySQL5.5数据源和连接池的配置 (1)将数据库的JDBC驱动程序复制到<CATALINA_HOME>/common/lib目录下 (2)在<CATALINA_HOME>/conf/server.xml中配置数据源和连接池,例如 <Context path="/JSP_JDBC&qu

jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用

一.连接池的概念和使用 在实际应用开发中,特别是在WEB应用系统中,如果JSP.Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接.打开数据库.存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃.数据库连接池技术是解决这个问题最常用的方法. 数据库连接池的主要操作如下: (1)建立数据库连接池对象. (2)按照事先指定的参数创建初始数量的数据库连

【JDBC】使用连接池技术访问oracle

使用连接池访问数据库之前需要导入相关的jar包, 首先需要导入Oracle的驱动包,一般在安装Oracle数据库的目录下就有,读者的目录下就有一个ojdbc6.jar的驱动包. 然后再需要导入和连接池相关的jar包,比如:commons-dbcp-1.4.jar,和commons-pool-1.5.6.jar包. 下面是一个使用连接池包装好的工具包: driverClassName=oracle.jdbc.OracleDriver url=jdbc:oracle:thin:@localhost:

【JDBC】C3P0连接池的使用

C3P0连接池的c3p0-config.xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl&

JDBC之Druid连接池的使用

一个基本项目结构由DB类(负责连接数据库的工作),DAO接口及实现类(继承DB类),bean对象封装类,Druid在DB和DAO内使用 DB类: DB类负责获取数据源,基本步骤如下 1.准备配置文件 db.properties url=jdbc:oracle:thin:@192.168.31.50:1521:orcl username=hanxd password=123 2.在DB类中读取配置文件到InputStream中 InputStream is = DB.class.getClassL

【数据库学习笔记】(4)JDBC数据源和连接池

数据层优化-jdbc连接池简述、druid简介

终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化去写,本篇是一个开始.本文会介绍连接池技术并对比目前比较流行的java连接池技术,之后,会把druid整合到项目中来,将技术方案落地,实际整合到项目中,让技术能为我所用. 使用连接池的原因 jdbc的demo //第一步,注册驱动程序 //com.MySQL.jdbc.Driver Class.fo