`
keepwork
  • 浏览: 334433 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle--jdbc创建连接池,jdbc连接数据库

 
阅读更多

开发者博客www.developsearch.com

 

package com.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import java.util.LinkedList;

public class DBConnetion {

    public static DBConnetion dbconn = null;
    private String driver = "com.mysql.jdbc.Driver";
    private String url = "jdbc:mysql://127.0.0.1:3306/project?useUnicode=true&characterEncoding=gbk";
    private String username = "username ";
    private String password = "password ";
    private LinkedList<Connection> pool = new LinkedList<Connection>();
    private int initCount = 10;
    private int maxCount = 20;
    int currentCount = 0;

    public static void main(String[] args) {
        try {
            long time1 = new Date().getTime();
            dbconn = new DBConnetion();
            for(int i = 1;i<= 20;i++){
                DBThreadTest dt = new DBThreadTest();
                dt.start();
            }
            long time3 = new Date().getTime();
            System.out.println(time3 - time1);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    public DBConnetion() {
        try {
            Class.forName(driver); // 加载驱动
        } catch (Exception e) {
            e.printStackTrace();
        }
        for (int i = 0; i < initCount; i++) {
            this.pool.addLast(createConnection());
            this.currentCount++;
        }
    }
   
    public static boolean executeBySql(String sql){
        try {
            Connection conn = dbconn.getConnection();
            Statement stat=conn.createStatement();
            int num = stat.executeUpdate(sql);
            stat.close();
            return num>0?true:false;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

    public Connection getConnection() {
        synchronized (pool) {
            try {
                if (this.pool.size() > 0) {
                    Connection conn = pool.removeFirst();
                    removeConn(conn);
                    return conn;
                }
                if (this.currentCount < maxCount) {
                    return createConnection();
                }
            } catch (Exception e) {
                e.printStackTrace();
                return getConnection();
            }
            return getConnection();
        }
    }

    public void removeConn(Connection conn) {
        pool.addLast(conn);
    }

    public Connection createConnection() {
        Connection conns = null;
        try {
            conns = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            System.out.println("创建链接失败");
        }
        return conns;
    }

    public LinkedList<Connection> getPool() {
        return pool;
    }

    public void setPool(LinkedList<Connection> pool) {
        this.pool = pool;
    }

}

分享到:
评论

相关推荐

    Java jdbc数据库连接池总结

    JDBC 提供两种 API,分别是面向开发人员的 API 和面向底层的 JDBC 驱动程序 API,底层主要通过直接的 JDBC 驱动和 JDBC-ODBC 桥驱动实现与数据库的连接。一般来说,Java 应用程序访问数据库的过程是:装载数据库驱动...

    logstash-output-jdbc插件

    5. **连接池**:可以通过`jdbc_pool_timeout`、`jdbc_validate_connection`等设置,优化数据库连接的管理和性能。 **应用场景** - 日志分析:将日志数据存储到数据库,便于进行复杂SQL查询和报表生成。 - 实时监控...

    常用jdbc数据库连接jar包,数据库连接池jar包

    2. C3P0:这是一个开源的JDBC连接池,提供了比DBCP更高级的功能,如连接测试、空闲连接检测、自动扩展等。C3P0通过组合多个数据源来实现连接池,可以更好地控制并发和资源管理。 这些jar包的收集意味着开发者可以...

    oracle-jdbc-12.2.0.1.zip

    Oracle JDBC驱动主要有四种类型: Thin、 Thick、JDBC-ODBC Bridge和Universal Driver,其中 Thin 驱动是最常用的一种,因为它是一种轻量级的纯Java实现,无需在客户端安装Oracle数据库客户端软件。 ojdbc8-资源....

    Jdbc连接oracle远程数据库中文乱码解决

    在这个文件中,我们可以配置JDBC连接池,同时指定字符集,确保数据传输时的编码一致性。例如: ```xml ${jdbc.url}" /&gt; ${jdbc.username}" /&gt; ${jdbc.password}" /&gt; ...

    jdbc-oracle-thinjdbc-oracle-thin

    ### JDBC-Oracle-Thin 驱动介绍与配置详解 #### 一、JDBC-Oracle-Thin 概述 在数据库连接技术中,Java Database Connectivity (JDBC) 是一种用于执行 SQL 语句的标准 Java API,可以为多种关系数据库提供统一访问...

    Spring boot连接oracle数据库JDBC配置步骤

    Spring Boot 连接 Oracle 数据库 JDBC 配置步骤 在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,...

    Oracle-jdbc-12.2.0.1.zip

    Oracle JDBC驱动程序是Oracle公司提供的一种Java数据库连接(JDBC)接口,用于在Java应用程序中与Oracle数据库进行交互。在Oracle-jdbc-12.2.0.1.zip压缩包中,包含了Oracle JDBC驱动的特定版本,即12.2.0.1,这是...

    Oracle-jdbc-jar包

    例如,通过`Class.forName()`方法加载Oracle JDBC驱动,然后使用`DriverManager.getConnection()`创建数据库连接。 为了在Web项目中使用Oracle JDBC驱动,通常需要将对应的JAR包添加到项目的类路径中。在传统的Web...

    29-数据库与JDBC-第3天(DBCP连接池及DBUti

    【标题】中的“29-数据库与JDBC-第3天(DBCP连接池及DBUtils”揭示了本次讨论的主题,主要围绕数据库、Java数据库连接(JDBC)以及两个重要的工具——DBCP连接池和DBUtils。这是一次关于数据库管理和优化的课程,...

    JAVA 使用数据库连接池连接Oracle数据库全代码

    1. **BasicDataSource**:这是DBCP提供的核心类,用于创建数据库连接池。 2. **ThreadLocal**:用于保存每个线程的本地副本数据,本例中用来保存当前线程的数据库连接。 3. **Properties**:用于加载配置文件中的...

    JDBC连接Oracle数据库代码经验

    总的来说,这段代码展示了如何使用JDBC连接Oracle数据库,并通过连接池进行管理。使用这种方式可以显著提高Web应用程序的性能,减少由于频繁建立和关闭数据库连接带来的开销。在实际项目中,还需要考虑异常处理、...

    JDBC数据库连接池实现原理

    1. **选择连接池实现**:首先,我们需要选择一个合适的数据库连接池实现,如Apache的DBCP、C3P0、HikariCP或Tomcat JDBC连接池等。这些连接池库提供了管理和维护数据库连接的功能。 2. **配置连接池**:在应用的...

    可用于oracle19c的jdbc驱动

    - **连接池**:为了提高性能和资源利用率,通常会使用连接池管理数据库连接,如C3P0、HikariCP等。 总的来说,Oracle 19c的JDBC驱动提供了一个高效、可靠的途径来用Java编程语言与Oracle数据库进行交互。正确理解和...

    oracle-jdbc.zip

    **使用Oracle JDBC驱动进行数据库连接**: 1. **下载与引入**: 首先,你需要将"oracle-jdbc.zip"解压,选择适合你的数据库版本的ojdbc驱动(ojdbc8或ojdbc10),然后将.jar文件添加到你的Java项目的类路径中,或者...

    JDBC连接oracle数据库.doc

    连接池可以复用已有的数据库连接,避免每次请求都创建和销毁连接所带来的开销。通过维护一定数量的空闲连接,连接池可以在应用程序请求连接时迅速响应,从而提高整体的响应速度和系统吞吐量。 文档中展示了一个名为...

    Oracle-Driver(支持c3p0等连接池)

    c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0提供了一些高级功能,如自动检测坏连接并尝试恢复,自动调整连接池大小,以及空闲连接测试等,这些功能可以显著提高...

    01-11.JDBC实用技术(连接Oracle数据库).doc

    2. **创建数据库连接** - 使用`DriverManager.getConnection()`方法创建与Oracle数据库的连接: ```java Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:mldn", "username",...

    java使用jdbc连接oracle数据库

    4. **建立连接**:使用`DriverManager.getConnection()`方法创建数据库连接: ```java String url = "jdbc:oracle:thin:@hostname:port/service_name"; String username = "your_username"; String password = ...

Global site tag (gtag.js) - Google Analytics