连接池笔记\JDBC的API\ACID属性\数据并发问题

2024-05-24 21:36

本文主要是介绍连接池笔记\JDBC的API\ACID属性\数据并发问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1-池化思想
字符串常量池、数据库连接池、线程池
频繁使用的东西,不要每次都去创建
没连接池之前:
(1)获取连接
(2)进行sql操作
(3)断开连接
存在问题
(1)每次都要加载对象,验证账号密码、连接、断开消耗资源
(2)非常多人连接断开,可能会导致服务器崩溃
(3)不能管理创建的连接对象,分配资源没有管理能力,可能导致内存泄漏服务崩溃

连接池概述
(1)是个容器,可以管理连接
(2)可以重复使用现有连接
(3)长时间不用会关闭

连接池实现
用DataSource接口实现,接口定义了连接功能,第三方实现接口

常用连接池
DBCP
C3P0
Druid(德鲁伊) 阿里提供的

2-数据持久化
把数据保存到永久保存的设备中

3-java中的数据存储
(1)序列化与反序列化
(2)操作数据库(增、删、改、查)

4-java如何操作数据库
(1)通过jdbc直接访问
(2)第三方o/r工具(mybatis)
(3)JDBC是底层的原理

5-JDBC是操作数据库的Api,定义了操作数据库的规范

6-java->jdbc->数据库驱动->数据库

7-有了JDBC之后,不同的数据库根据JDBC规范,可以操作数据库。

8-JDBC的API
(1)DriverManager:驱动管理
(2)Connection:数据库连接对象
(3)Statement:执行sql语句
(4)ResultSet:结果集对象
过程:写java代码,java代码将sql语句发送到mysql服务器,mysql数据库接收sql语句处理,将结果返回
9-导入包
选择版本:到maven仓库https://mvnrepository.com/artifact/com.oracle.database.jdbc/,输入mysql-connect(oracle-connect),选择一个后点进详情页,前面数字是数据库的版本号,选择使用多的下载。
10-JDBC事务操作
事务的ACID属性
(1)原子性:不可分割,要么同时失败,要么同时成功
(2)一致性:事务必须使数据库从一个一致性状态转为另一个一致性状态
(3)隔离性:事务之间互不干扰
(4)持久性:事务的操作是永久性的

11-数据并发问题
(1)脏读:A事务读到B事务没有提交的
(2)不可重读:A事务先读到的值,被B事务更改了
(3)幻读:A读所有,B再插入新的,A再去读,数据变多了

这篇关于连接池笔记\JDBC的API\ACID属性\数据并发问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999589

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2