C3P0连接池适配HGDB

文章目录

  • 文档用途
  • 详细信息

文档用途

讲解常用的并且需要与数据库进行交互的开源框架C3P0,以及C3P0框架是如何适配HGDB的。

详细信息

1.C3P0概述

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate、Spring等。

2.C3P0使用

Maven项目中c3p0依赖,pom.xm文件配置如下:

<dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.2.1</version></dependency><dependency><groupId>highgo</groupId><artifactId>highgo</artifactId><version>5.0-42</version></dependency>

在以spring、mybatis、c3p0为框架搭建的项目案例中,spring配置文件中,c3p0部分连接参数示例,如下:

<bean id="dataSource"  class="com.mchange.v2.c3p0.ComboPooledDataSource" >   <property name="jdbcUrl"   value="${jdbc.url}"/> <property name="user"   value="${jdbc.username}"/><property name="password"   value="${jdbc.password}"/> <property name="driverClass"   value="${jdbc.driverClassName}"/> <!-- 连接池中保留的最大连接数。默认值: 15 -->  <property name="maxPoolSize"   value="20"/> <!-- 连接池中保留的最小连接数,默认为:3   --><property name="minPoolSize"   value="2"/> <!-- 初始化连接池中的连接数,取值应在minPoolSize与maxPoolSize之间,默认为3 --> <property name="initialPoolSize"   value="2"/> <!-- 最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。默认值: 0 -->  <property name="maxIdleTime"   value="60"/></bean>

C3P0详细参数请查询官网:https://www.mchange.com/projects/c3p0/

Java框架中的配置参数为了维护方便、便于阅读,一般把一些参数放在配置文件中;比如在此案例下,把HGDB的连接参数放在了jdbc.properties文件下,在spring配置文件中使用jdbc.url,{jdbc.url},jdbc.url{jdbc.username},jdbc.password,{jdbc.password},jdbc.password{jdbc.driverClassName}来引用这些参数;在spring配置文件中还有个引入配置文件的配置,如下:

<!-- 引入配置文件 --><context:property-placeholder location="classpath:jdbc.properties"/>

这样spring就会按照配置寻找jdbc.properties中的jdbc.url,jdbc.username,jdbc.password,jdbc.driverClassName这四个参数;

jdbc.properties中的内容,如下:

jdbc.url=jdbc:highgo://127.0.0.1:5866/myhgdbjdbc.driverClassName=com.highgo.jdbc.Driverjdbc.username=myuserjdbc.password=my123

目前使用比较多的配置文件基本都是以 .xml、.properties、.yml等结尾,其中还有的在java类中设置参数值。

C3P0适配HGDB就是把c3p0的数据库连接参数改为HGDB的连接参数,如图6.2,只要把jdbc.url、jdbc.driverClassName、jdbc.username、jdbc.password修改为HGDB的连接参数即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/95861.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/95861.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZeroGPU Spaces 加速实践:PyTorch 提前编译全解析

ZeroGPU 让任何人都能在 Hugging Face Spaces 中使用强大的 Nvidia H200 硬件&#xff0c;而不需要因为空闲流量而长期占用 GPU。 它高效、灵活&#xff0c;非常适合演示&#xff0c;不过需要注意的是&#xff0c;ZeroGPU 并不能在所有场景下完全发挥 GPU 与 CUDA 栈的全部潜能…

8.ImGui-输入框

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;7.ImGui-单选框和复选框 单行输入框使用 ImGui::InputText()&#xff0c;下图中…

2025年- H120-Lc28. 找出字符串中第一个匹配项的下标(数组)--Java版

1.题目2.思路 短的子串相对不变 所以我们用长的字符串去截取in个长度的子串做遍历 如果两者相等 返回字符串第一个匹配项的索引的下标 3.代码实现 class Solution {public int strStr(String haystack, String needle) {int s1haystack.length();int s2needle.length();//遍历最…

uport1100系列转接头,SZ系列光电编码器RS485通信

安装uport1100系列转接头驱动 &#xff1a;选择对应自己系统内核版本的驱动。否则爆出系统内核过高过低等问题。 查看系统内核版本指令&#xff1a; uname -r #简要 uname -a #详细驱动下载官网&#xff1a; https://www.moxa.com.cn/support/product-support/software-and-…

Java全栈开发面试实战:从基础到微服务架构

Java全栈开发面试实战&#xff1a;从基础到微服务架构 在一次互联网大厂的Java全栈开发岗位面试中&#xff0c;一位名叫李明的28岁程序员&#xff0c;拥有计算机科学与技术本科学历&#xff0c;工作年限为5年。他的主要职责包括设计和实现前后端分离的Web应用、参与微服务架构的…

win10(三)视频剪裁

上传一刻相册&#xff0c;有30M大小限制。这个软件能免费剪裁视频而且支持手机的H.265格式&#xff0c;这个格式目前连potplayer都支持不好。但是配合FFmpeg可以检测并且能按大小&#xff08;或时间&#xff09;剪裁&#xff0c;并上传到一刻相册上播放。 下载FFmpeg的方法&am…

Linux--线程

Linux线程概念 1 什么是线程 • 在⼀个程序⾥的⼀个执⾏路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“⼀个进程内部 的控制序列” • ⼀切进程⾄少都有⼀个执⾏线程 • 线程在进程内部运⾏&#xff0c;本质是在进程地址空间内运⾏ • 在L…

【C++】C++11的包装器:function与bind简介

各位大佬好&#xff0c;我是落羽&#xff01;一个坚持不断学习进步的学生。 如果您觉得我的文章还不错&#xff0c;欢迎多多互三分享交流&#xff0c;一起学习进步&#xff01; 也欢迎关注我的blog主页: 落羽的落羽 文章目录一、function1. 概念2. 用法二、bind1. 概念2. 用法…

MySQL高级特性详解

MySQL高级特性详解 一、自关联查询 概念 自关联查询是指一个表与它自己进行连接的查询。通常用于处理具有层级关系或递归结构的数据。 应用场景 员工与上级关系分类的父子关系地区的层级关系 示例 -- 创建员工表 CREATE TABLE employees (emp_id INT PRIMARY KEY,emp_name VARC…

深度学习——调整学习率

学习率调整方法详解在深度学习训练过程中&#xff0c;学习率&#xff08;Learning Rate, LR&#xff09; 是影响模型收敛速度和效果的关键超参数。学习率过大可能导致训练不稳定、震荡甚至无法收敛&#xff1b;学习率过小又会导致收敛过慢甚至陷入局部最优。因此&#xff0c;如…

Java分页 Element—UI

前端代码 <div class"block"><span class"demonstration">页数较少时的效果</span><el-paginationlayout"prev, pager, next":total"50"></el-pagination> </div>参考Element-UI total:0, form: …

html中列表和表格的使用

列表一般来说只有一列一列的进行使用&#xff0c;是一维的列表分为三种列表形式<!-- 列表标签ul-li:无序列表&#xff0c;必须用 <ul> 当 “容器”&#xff08;代表 “无序列表”&#xff09;&#xff0c;每个条目用 <li> 包起来&#xff08;代表 “列表项”&am…

大学信息查询平台:一个现代化的React教育项目

一 项目简介大学信息查询平台是一个基于React Vite Tailwind CSS构建的现代化Web应用&#xff0c;专门用于查询中国各大高校的详细信息。该项目不仅功能实用&#xff0c;更在用户体验和界面设计上做到了极致。二 核心功能2.1. 智能大学搜索// 搜索功能核心代码 const searchU…

代码随想录算法训练营第六天 - 哈希表2 || 454.四数相加II / 383.赎金信 / 15.三数之和 / 18.四数之和

代码随想录算法训练营第六天 - 哈希表2 || 454.四数相加II / 383.赎金信 / 15.三数之和 / 18.四数之和454.四数相加II解题思路383.赎金信自己解答&#xff1a;代码随想录讲解暴力做法哈希表15.三数之和双指针优化改进18.四数之和自己的解答系统讲解454.四数相加II 文档讲解&…

FPGA实现流水式排序算法

该算法采用双调排序算法&#xff0c;是一种可流水的递推算法&#xff0c;且算法的消耗时长可算&#xff0c;具体细节参考视频&#xff1a; https://www.bilibili.com/video/BV1S3thzWEnh/?spm_id_from333.1387.homepage.video_card.click&vd_source69fb997b62efa60ae1add…

平衡车 -- MPU6050

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 传感器原理 此外&#xff0c;用陀螺仪获取x,y,z轴的加速度。 初始化 我们现在对MPU6050进行初始化&#xff0c;MPU6050通过I2C总线与单片机进行通信&#xff0c;通过的是PB8和PB…

在电路浪涌测试中,TVS(瞬态电压抑制二极管)的防护效果确实会受到陪测设备中去耦网络(Decoupling Network,DN)的显著影响

在电路浪涌测试中&#xff0c;TVS&#xff08;瞬态电压抑制二极管&#xff09;的防护效果确实会受到陪测设备中去耦网络&#xff08;Decoupling Network&#xff0c;DN&#xff09;的显著影响&#xff0c;这一现象与浪涌能量的传递路径、阻抗匹配及信号完整性密切相关。结合 AD…

Redis之分布式锁与缓存设计

1、分布式锁 1.1、超卖问题/*** 存在库存超卖的不安全问题*/private void deductStock() {int stockTotal Integer.parseInt(stringRedisTemplate.opsForValue().get("stock"));if (stockTotal > 0) { // 这里存在多个线程、进程同时判断通过&#xff0c;然后超买…

静态住宅IP的特点

稳定性高&#xff1a;与动态IP地址相比&#xff0c;静态住宅IP不会不定时变更&#xff0c;能确保业务在网络环境中的一致性和连贯性&#xff0c;适合需要长期维持同一身份的场景&#xff0c;如跨境电商业务等3。安全性强&#xff1a;由于其住宅属性&#xff0c;看起来更像是正常…

Linux 编译 Android 版 QGroundControl 软件并运行到手机上

Linux 编译 Android 版 QGroundControl 软件并运行到手机上环境说明操作步骤一、参考上一篇文章在电脑端把环境搭建好二、配置 Qt Creator 的 Android 环境环境说明 电脑系统 Ubuntu 22.04 qgroundcontrol master 分支 Qt 6.8.3 操作步骤 一、参考上一篇文章在电脑端把环境搭…