Java笔记——数据库09

本文介绍了如何在IDEA中排查JDBC错误,强调了关注错误提示的重要性。同时,总结了JDBC操作数据库的基本步骤,包括DataSource与DriverManager的区别,以及PreparedStatement相对于Statement的优势。DataSource提供了连接池支持,提高了资源利用率,而PreparedStatement通过预编译提高执行效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

​编辑

根据IDEA找JDBC的错误

 JDBC操作步骤总结

JDBC常用接口和类


所有Java操作关系型数据库,无论是哪种数据库,套路都是一样的,这个代码一定要熟练掌握,JPA,MyBatis都是JDBC的封装
 

根据IDEA找JDBC的错误

学会查看IDEA错误提升
 

比如我们写sql语句时,把列名称给弄错了

错误提示:

 这些灰色的错误信息不用管,都是第三方包里面程序的错误,别人代码的错误栈、不用管

 重点看蓝色部分,提示你第一次出错的位置,这样就可以往上找。

 根据这信息往上找,找到了错误源,发现是列名称写错了。

 JDBC操作步骤总结

JDBC常用接口和类

获取数据源有两种方式

一个是DataSource方式(实际用到的)推荐

另外一种是DriverManager(不推荐使用)


 

以上两种方式的区别是: 

1. DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源 时,通过connection.close()都是关闭物理连接。

2. DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接 是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将 Conncetion连接对象回收。

简单的说:DataSource的好处在于, 在内部创建Connection对象的连接池

“池”的概念:最主要的目的就是 资源的重复利用

当一个Connection对象调用close方法之后它不是真正关闭,这个对象会被DataSource回收,进入连接池,
若此时有别的用户需要建立连接,不是创建一个新的连接,若此时连接池中有空闲连接直接使用此连接

 

注释:数据库连接的建立和销毁操作还是很耗时耗资源 

这就是DataSource的优势所在

具体执行SQL的对象也有两种方式

一个是PreparedStatement对象(推荐使用)

另外一个是Statement对象


Statement 执行的语句一般都是 select * from 这样不带条件的

PreparedStatement 一般执行带筛选条件的

而且PreparedStatement 

上面的程序被执行一遍之后, 这个sql语句就会保存到mysql系统中

这个SQL语句的语法和词法分析都已经执行过,下—次再使用时,只是简单的替换内容即可
比如这次我查编号为 2 的人名字,下次写成 3时,mysql系统里面已经有了,只是简单的换一下里面的数字,其他程序都有执行过的记录,这样速度会很快

 反而 Statement 是真正的每次都需要在mysql数据库重新编译执行一遍,很慢。

PreparedStatement 的优势总结:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值