首页 > 其他分享 >Druid使用实例

Druid使用实例

时间:2023-05-30 17:44:48浏览次数:46  
标签:数据源 resultSet Druid 实例 ex 使用 连接池 dataSource

当然,以下是一个详细的Druid示例代码,演示了如何配置和使用Druid连接池:

import com.alibaba.druid.pool.DruidDataSource;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DruidDemo {
    public static void main(String[] args) {
        // 创建Druid数据源
        DruidDataSource dataSource = new DruidDataSource();

        // 配置数据源属性
        dataSource.setUrl("jdbc:mysql://localhost:3306/mydatabase");
        dataSource.setUsername("username");
        dataSource.setPassword("password");

        // 配置连接池属性
        dataSource.setInitialSize(5);
        dataSource.setMaxActive(10);
        dataSource.setMinIdle(3);
        dataSource.setMaxWait(3000);

        Connection connection = null;
        PreparedStatement statement = null;
        ResultSet resultSet = null;

        try {
            // 从连接池获取连接
            connection = dataSource.getConnection();

            // 执行查询
            String sql = "SELECT * FROM students";
            statement = connection.prepareStatement(sql);
            resultSet = statement.executeQuery();

            // 处理查询结果
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            // 释放资源
            if (resultSet != null) {
                try {
                    resultSet.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
            }

            // 关闭数据源
            dataSource.close();
        }
    }
}

在上述代码中,我们首先创建了一个DruidDataSource对象,然后配置了数据库连接信息和连接池属性。接下来,我们通过调用getConnection()方法从连接池中获取一个连接对象。然后,我们执行一个查询操作,将结果打印出来。最后,我们释放资源,包括关闭结果集、预处理语句和连接对象,以及关闭数据源。

需要注意的是,在实际使用中,我们通常会将数据源的配置信息放在外部配置文件中,例如druid.properties,并使用Properties对象加载配置。然后,可以通过调用dataSource.configFromPropety(props)方法将属性配置应用到数据源中。

此外,为了正确使用Druid连接池,您还需要将Druid的依赖项添加到项目的构建文件(例如pom.xml)中。例如,在Maven项目中,您可以添加以下依赖项:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.6</version>
</dependency>

请确保使用正确的Druid版本号,根据您的项目需求进行调整。

标签:数据源,resultSet,Druid,实例,ex,使用,连接池,dataSource
From: https://www.cnblogs.com/lukairui/p/17443925.html

相关文章

  • gRPC使用实例
    当然!这是三个使用Java实现的gRPC示例代码,用于演示gRPC的基本用法和通信模式:示例1:简单的UnaryRPC在此示例中,客户端向服务器发送请求,并接收单个响应。gRPC服务定义文件(.proto文件):syntax="proto3";packagecom.example.grpcdemo;serviceGreetingService{rpcSayHel......
  • Thrift使用实例
    当然!这是三个使用Java实现的Thrift示例代码,用于演示Thrift的基本用法和通信模式:示例1:简单的服务端和客户端在此示例中,我们将创建一个简单的Thrift服务端和客户端,客户端向服务端发送请求并接收响应。Thrift定义文件(.thrift文件):namespacejavacom.example.thriftdemoservice......
  • CSS 删除线:在 CSS 中使用文本装饰和划线
    CSS删除线是一个CSS属性,它使文本看起来像是被删除线一样,就像这样。在网络开发和写作中,这经常用于表示文本已被删除或不再相关。但它也可以用于不同的事情。删除线可以应用于span元素、段落、div、显示内联块或任何其他需要文本修饰的元素。除了下划线、斜体和粗体,CSS删除线也......
  • leetcode Kth Largest Element in a Stream——要熟悉heapq使用
    703.KthLargestElementinaStreamEasyDesignaclasstofind thekthlargestelementinastream.Notethatitisthekthlargestelementinthesortedorder,notthekthdistinctelement.Your KthLargest classwillhaveaconstructorwhichacceptsanin......
  • 漏洞扫描工具Nessus详细使用教程
    漏洞扫描工具Nessus详细使用教程zkzq于 2022-02-0918:14:35 发布28574 收藏 195分类专栏: 黑客工具 文章标签: 网络安全 web安全 渗透测试版权黑客工具专栏收录该内容11篇文章13订阅订阅专栏零基础学黑客,搜索公众号:白帽子左一1原文地址......
  • Dubbo使用实例
    下面是一个使用Java实现的Dubbo示例代码,包括服务提供者和服务消费者:首先,您需要确保已安装ZooKeeper,并且ZooKeeper服务器正在运行。接下来,您可以使用以下示例代码创建Dubbo的服务提供者和服务消费者:服务提供者示例代码:接口定义:publicinterfaceGreetingService{String......
  • .net调用动态库NationECCode.dll使用电子凭证二维码解码接口
    .net调用动态库NationECCode.dll使用电子凭证二维码解码接口 C#.net调用示例代码:[DllImport("NationECCode.dll",CallingConvention=CallingConvention.StdCall)]publicstaticexternvoidNationEcTrans(stringurl,stringinput,IntPtroutput);......
  • 如何使用ComboBox以获取用户的单选并可编辑
    如何使用ComboBox以获取用户的单选并可编辑ComboBox是一种单选下拉框,和ChoiceBox很类似。ComboBox不仅可以接收用户的一个选项,还可以提供可编辑框,让用户输入内容。效果展示示例代码importjavafx.application.Application;importjavafx.geometry.Insets;importjava......
  • python中如何使用正则表达式查询字符串
    '''Createdon2019年12月2日@author:hp''''''上一篇文章介绍了那么多关于正则表达式的用法,现在终于到了python中如何使用正则表达式了,不急,请诸君慢慢来''''''之前在讲字符串时,已经说过了字符串的格式化输出,大家没看的可以看我的上一篇文章格式化输出时,是含有模式串......
  • #yyds干货盘点#Linux编辑器vim使用
    vim:是一款编辑器,只负责写代码;相当于windows的记事本;gcc:是一款编译器,只负责程序的翻译;gdb:是一款调试器,只负责程序的调试;vim是一个功能强大的多模式编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim没有菜单,只有命令。命令模式(默认):输入的任何......