JDBC笔记总结
文章平均质量分 54
java小白。。
努力学习
展开
-
【JDBC笔记】自定义ResultSetHandler实现类完成对应操作
本文使用的数据表如下如果不用 ResultSetHandler 中定义好的实现类,我们想自己写一个比如自定义一个查询操作吧,我们需要重写 handle 方法即可原创 2022-07-11 08:45:00 · 602 阅读 · 0 评论 -
【JDBC笔记】使用QueryRunner实现查询数据操作
本文使用的数据表如下目录Apache-DBUtilsQueryRunner实现查询操作创建Customer实现类BeanHandlerBeanListHandlerMapHandlerMapListHandlerScalarHandlercommons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,它是对 JDBC 的简单封装,学习成本极低,并且使用 dbutils 能极大简化 JDBC 编码工作量,同时也不会影响程序的性能QueryRunner 依托其下的实现类与接口进行查询操原创 2022-07-10 09:00:00 · 2173 阅读 · 0 评论 -
【JDBC笔记】使用QueryRunner实现插入数据操作
本文使用的数据表如下目录Apache-DBUtilsQueryRunner实现插入代码commons-dbutils 是 Apache 组织提供的一个开源 JDBC 工具类库,它是对 JDBC 的简单封装,学习成本极低,并且使用 dbutils 能极大简化 JDBC 编码工作量,同时也不会影响程序的性能我们使用 Druid 连接池获取连接,不明白的小伙伴可以参考博文【JDBC笔记】Druid数据库连接池实现连接_李既白的博客-CSDN博客执行代码,插入成功......原创 2022-07-09 12:00:17 · 1434 阅读 · 0 评论 -
【JDBC笔记】Druid数据库连接池实现连接
Druid 是阿里巴巴开源平台上一个数据库连接池实现,它结合了 C3P0、DBCP、Proxool 等 DB 池的优点,同时加入了日志监控,可以很好的监控 DB 池连接和 SQL 的执行情况,可以说是针对监控而生的 DB 连接池,Druid 可以说是目前最好的连接池之一目录Druid数据库连接池实现连接步骤创建properties文件实现代码 运行代码,执行成功...原创 2022-07-08 08:00:00 · 335 阅读 · 0 评论 -
【JDBC笔记】DBCP数据库连接池实现连接
目录DBCP数据库连接池实现步骤创建properties文件实现代码 在连接之前,我们需要创建一个 properties 文件来存储数据库基本信息运行代码,连接成功原创 2022-07-07 18:23:04 · 224 阅读 · 0 评论 -
【JDBC笔记】数据库连接池与c3p0连接池创建连接
目录数据库连接池技术数据库连接池的基本思想数据库连接池技术的优点多种开源的数据库连接池c3p0数据库连接池的实现方式为解决传统开发中的数据库连接问题,可以采用数据库连接池技术就是为数据库连接建立一个 “缓冲池” 。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从 “缓冲池” 中取出一个,使用完毕之后再放回去数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量原创 2022-07-06 08:45:00 · 303 阅读 · 0 评论 -
【JDBC笔记】事务的ACID属性以及在MySQL中设置隔离级别
目录事务的ACID属性数据库的并发问题四种隔离级别在MySQL中设置隔离级别1. 原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生2. 一致性(Consistency)事务必须使数据库从一个一致性状态变换到另一个一致性状态3. 隔离性(Isolation)事务的隔离性是指一个事务的执行不能被其它事务干扰,即一个事务内部的操作及使用的数据对并发的其它事务是隔离的,并发执行的各个事务之间不能互相干扰4. 持久性(Durability)持久性是指一个事务一旦原创 2022-07-05 09:15:00 · 71 阅读 · 0 评论 -
【JDBC笔记】事务处理原则下的转账操作实现
什么是事务处理原则下的转账操作实现,最直白的解释就是我转出的钱对方需要收到,事件是针对整体的,不能我的钱转出,对方不仅没有收到,我的钱还扣除了,这就是不符合事物逻辑的。所以如果我的钱转出,对方没有收到,需要把我转出的钱返还给我,这就是最经典的事务处理逻辑目录事务处理的原则导致数据不可回滚的操作代码实现事件转账保证所有事物都作为一个工作单元来执行,即使出现了故障,都不能改变这种执行方式。当在一个事物中执行多个操作时,要么所有的事物都被提交(commit),那么这些修改就永久地保存下来,要么数据库管理系统将放弃原创 2022-07-04 09:00:00 · 233 阅读 · 0 评论 -
【JDBC笔记】批量插入数据操作
目录批量操作注意事项批量插入代码实现1、批量处理方式:addBatch(),executeBatch(),clearBatch()2、mysql 服务器默认是关闭批处理的,我们需要通过一个参数,让 mysql 开启批处理支持 ?rewriteBatchedStatements=true 写在配置文件的 url 后面3、使用更新的 mysql 驱动:5.1.37,该驱动需与 mysql 的版本对应,本文使用的为 8.0.294、以往练习使用的都是 5.1.7 驱动,连接驱动为 com.mysql.jdbc.原创 2022-07-03 09:45:00 · 412 阅读 · 0 评论 -
【JDBC笔记】向数据表中插入Blob类型数据
本文使用的数据表如下,我们想在其中添加图片(Blob)类型的数据目录MySQL BLOB类型插入Blob类型数据代码实现MySQL 中,BLOB 是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据插入 BLOB 类型的数据必须使用 PreparedStatement,因为 BLOB 类型的数据无法使用字符串拼写的MySQL 的四种 BLOB 类型(除了在存储的最大信息上不同外,它们是等同的)实际使用中根据需要存入的数据大小定义不同的 BLOB 类型需要注意的是:如果存储文件过大,数据原创 2022-07-02 13:53:35 · 899 阅读 · 0 评论 -
【JDBC笔记】PreparedStatement通用查询数据表
本文利用的数据库如下目录Java与SQL对应数据类型转换表PreparedStatement查询数据表操作如果想查询对应数据表的数据,我们就需要制造一个表的对象,里面包含了表中的内容,比如本文查询一下 Customers 数据表 我们就可以根据转换表,写出数据表对象PreparedStatement查询数据表操作要查询数据库,我们可以先梳理一下思路。首先我们要知道查询哪个表,查询语句是什么,查询多少数据。那么顺着这个思路,我们就可以把以上三点写为参数传入方法中在查询数据表的时候,我们要获取数原创 2022-06-28 23:39:04 · 730 阅读 · 0 评论 -
【JDBC笔记】PreparedStatement操作数据库增删改的通用函数使用
本文使用的数据表如下因为增删改查的 sql 语句不同,对应的占位信息也不同,所以如果想在一个函数中同时实现数据库增删改查的操作,我们就需要把方法封装到函数里面,把 sql 语句与对应占位信息作为参数传入,在需要的时候调用即可顺着这个思路,比如想修改第三条数据的值,我们就可以得到代码其中 jdbc.properties:需要注意:如果表名与sql中的关键字重合,我们需要添加着重号执行此代码,我们可以发现修改成功......原创 2022-06-27 08:30:00 · 293 阅读 · 0 评论 -
【JDBC笔记】PreparedStatement操作数据库增加数据
利用 PreparedStatement 可以有效解决 Statement 带来的安全隐患问题本文主要介绍 PreparedStatement 进行数据库增加数据的操作,利用的数据库如下最后插入成功原创 2022-06-26 12:01:16 · 429 阅读 · 0 评论 -
【JDBC笔记】Statement操作数据库实现用户登录
本文使用的数据库,里面存放了一些用户名与密码目录使用Statement操作数据表建立 User 文件建立properties文件Statement操作数据库使用Statement操作数据库的弊端建立properties文件使用 Statement 我们可以实现登录的操作,但是使用 Statement 也存在一些弊端1. 需要拼写 SQL 语句2. 存在 SQL 注入的问题什么是 SQL 注入?比如我们可以把本文的 SQL 语句修改一下'1' = '1' 是恒成立的,所以我们输入任意用户原创 2022-06-25 18:01:30 · 373 阅读 · 0 评论 -
【JDBC笔记】获取数据库连接
本文使用的 Java 集成环境是 eclipse,数据库是 MySQL 8.0 以上的版本,本文使用手动获取数据库连接的方式实现连接目录连接数据库的步骤导入第三方API建立properties文件创建数据库连接本文中创建数据库连接方式的优点首先我们要导入对应的第三方 API jar 包,可以从本人百度网盘中直接获取链接:https://pan.baidu.com/s/1vgneasvM0TD4ZJwOgL8P-w 提取码:ah6u导入之后一定要 Build Path,产生上图中 Referenced Li原创 2022-06-22 21:05:54 · 85 阅读 · 0 评论