JDBC的传统连接弊端
一、传统连接弊端
1.传统的JDBC数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证ip地址,用户名和密码(0.05s~1s)。需要数据库连接的时候,就像数据库要求一个,频繁的进行数据库连接操作将占有很多的系统资源,容易造成服务器崩溃。
2.每一次数据库连接,使用完后都要断开,假如程序出现异常而没能关闭,将会导致数据库内存泄漏,将导致重启数据库。
3.传统获取连接的方式,不能控制创建的连接数量,假如连接过多可能导致内存泄漏,MySql崩溃。
4.解决传统开发中的数据库连接问题,可以采用数据库连接池技术。
package com.jun.jdbc.datasource;import com.jun.jdbc.utils.JDBCUtils;
import org.junit.Test;import java.sql.Connection;public class ConQuestion {//连接mysql 5000次@Testpublic void testCon(){long start = System.currentTimeMillis();for (int i = 0; i <5000 ; i++) {//传统的jdbc方式,得到连接Connection connection = JDBCUtils.getConnection();//得到PreparedStement,发送sql//.....//关闭JDBCUtils.close(null,null,connection);}long end =System.currentTimeMillis();System.out.println("传统方式耗时="+(end - start));//传统方式耗时=23970}
}
JDBC的传统连接弊端相关推荐
- 使用JDBC把Java连接到数据库
大家好,我是贺贺,专注于Java后端.数据结构和算法的学习. 为什么JDBC慢慢变陌生了 在Java开发过程中,与数据库打交道是难免的,但是,Java具体是怎么操作数据库的呢,随着Spring时代的来 ...
- 项目案例模板之jdbc两种连接方式
项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;import org.junit.jupiter.api.Test;import jav ...
- 数据库驱动和JDBC、DBCP-C3P0连接池
目录 数据库驱动 第一个JDBC程序 statement对象详解 SQL注入问题 PreparedStatement对象 JDBC操作事务 DBCP-C3P0连接池 DBCP C3P0 C3P0与DB ...
- 【翻译自mos文章】对于JDBC thin client连接,ORA-28040 and SQLNET.ALLOWED_LOGON_VERSION_CLIENT
对于JDBC thin client连接,ORA-28040 and SQLNET.ALLOWED_LOGON_VERSION_CLIENT的问题 来源于: ORA-28040 and SQLNET. ...
- JDBC二:连接方式
JDBC连接的方式 引入 五种方式之间是渐进迭代关系,前4种连接方式有助于理解jdbc连接的实质,实际开发中采用最后一种方式 一.方式一 通过第三方API中的实现类进行数据库连接 @Testpubli ...
- jdbc mysql select_java连接mysql数据库并使用jdbc进行查询详解
public Connection getCon() { //数据库连接名称 String username="root"; //数据库连接密码 String password=& ...
- JDBC:使用连接池管理连接
2019独角兽企业重金招聘Python工程师标准>>> 一.数据库连接池 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显 ...
- DOMINO的JDBC和ODBC连接方法
利用ODBC实现Domino和关系数据库的互操作 Lotus Domino是当今办公自动化系统的主流开发平台之一,Domino自带一个非关系型数据库–文档型数据库,而目前大部分企业的信息都储存在 ...
- Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据
概述 如何获取本地数据连接 示例从DBCP数据源中获取Oracle的本地连接对象 相关接口操作 LobCreator LobHandler 插入LOB类型的数据 以块数据的方式读取LOB数据 以流数据 ...
最新文章
- python 时间模块备忘
- 12月18日云栖精选夜读 | Java 中创建对象的 5 种方式!...
- java vector内存结构_Java 数据结构
- Windows 8测试版安装图组
- python获取硬件信息
- Mac下安装Flink的local模式(flink-1.0.2)
- ~~堆优化版dijkstra
- 【Python实例第22讲】不同聚类算法的比较分析
- debian:必须有官方源,难道国内镜像都是僵尸源?
- centos8 yum源配置
- TIFF图像文件格式分析
- python柱状图颜色_echarts柱状图,改变柱状颜色
- 一种人机友好的视频压缩方案(HMFVC)
- 集成显卡和独立显卡的区别
- vue中的路由对象和路由记录
- LeetCode·718.最长重复子数组·动态规划
- 聪明人的游戏提高篇:贝贝的数学课 (change)
- http的幂等性及幂等性
- 4S汽车业务财务一体化整体框架
- QPaintDevice::metrics: Device has no metric information