连接池笔记\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

相关文章

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

vue监听属性watch的用法及使用场景详解

《vue监听属性watch的用法及使用场景详解》watch是vue中常用的监听器,它主要用于侦听数据的变化,在数据发生变化的时候执行一些操作,:本文主要介绍vue监听属性watch的用法及使用场景... 目录1. 监听属性 watch2. 常规用法3. 监听对象和route变化4. 使用场景附Watch 的

前端导出Excel文件出现乱码或文件损坏问题的解决办法

《前端导出Excel文件出现乱码或文件损坏问题的解决办法》在现代网页应用程序中,前端有时需要与后端进行数据交互,包括下载文件,:本文主要介绍前端导出Excel文件出现乱码或文件损坏问题的解决办法,... 目录1. 检查后端返回的数据格式2. 前端正确处理二进制数据方案 1:直接下载(推荐)方案 2:手动构造

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java 结构化并发Structured Concurrency实践举例

《Java结构化并发StructuredConcurrency实践举例》Java21结构化并发通过作用域和任务句柄统一管理并发生命周期,解决线程泄漏与任务追踪问题,提升代码安全性和可观测性,其核心... 目录一、结构化并发的核心概念与设计目标二、结构化并发的核心组件(一)作用域(Scopes)(二)任务句柄