6-4 JDBC

本文详细介绍了JDBC的使用,从基本概念到执行流程,涵盖增删改查操作。重点讨论了防止SQL注入的PreparedStatement,以及事务管理和批处理的重要性。同时,提到了Druid等数据库连接池的高效应用,并提供了相应的代码示例。
摘要由CSDN通过智能技术生成


一、简介

在这里插入图片描述
即我们可以利用jdbc的标准联结任意的数据库
在这里插入图片描述

二、流程

在这里插入图片描述
在这里插入图片描述
以上的state.execute()在执行有结果的语句时返回的是true,执行没有结果的语句时返回的是false。注意它代表的不是语句的执行成功与否。
在这里插入图片描述

三、增删改

在这里插入图片描述
这里的flag代表的是sql语句影响的行数,一般我们认为flag为0的时候sql语句执行失败

四、查

查询结果是一个resultset的结果集对象
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
需要注意的是结果集也需要关闭

五、DAO与工厂设计模式

在这里插入图片描述
在这里插入图片描述

六、SQL注入

在这里插入图片描述
在这里插入图片描述
如何解决SQL注入问题

预处理
新手建议使用PreparedStatement
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下分别是预处理和不预处理进行1000次登录的时间对比,可以发现在mysql数据库中PreparedStatement稍微比Statement要慢一点点,但差距不是很大
在这里插入图片描述
在这里插入图片描述

七、事务

start transactin | begin
rollback
commit

在这里插入图片描述
隔离级别是通过锁来完成的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八、批处理

在这里插入图片描述
Statement未使用批处理
在这里插入图片描述
Statement使用批处理
在这里插入图片描述
PreparedStatement未使用批处理
在这里插入图片描述
PreparedStatement使用批处理
在这里插入图片描述

九、数据库连接池

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Druid连接池比大多数连接池的效率都要高,建议使用Druid连接池

在这里插入图片描述
可以使用德鲁伊工具类对其进行封装
在这里插入图片描述
在这里插入图片描述
DBCP工具类同理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值