在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
本文将从JDBC的作用,JDBC的连接步骤和JDBC的最佳实践三个方面来详解JDBC的运行过程,感兴趣的同学可以接着往下看,相信你一定会有所收获。
一、JDBC的作用
JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库。JDBC接口及相关类在java.sql包和javax.sql包里。我们可以用它来连接数据库,执行SQL查询,存储过程,并处理返回的结果。
JDBC接口让Java程序和JDBC驱动实现了松耦合,使得切换不同的数据库变得更加简单。
二、JDBC的连接步骤
执行一次JDBC连接,分六个步骤进行:
1. 导入包
在程序中包含数据库编程所需的JDBC类。大多数情况下,使用 import java.sql.* 就足够了。
2. 注册JDBC驱动程序
需要初始化驱动程序,这样就可以打开与数据库的通信。
3. 打开一个连接
使用DriverManager.getConnection()方法来创建一个Connection对象,它代表一个数据库的物理连接。
4. 执行一个查询
需要使用一个类型为Statement或PreparedStatement的对象(两者区别看后文),并提交一个SQL语句到数据库执行查询。
5. 从结果集中提取数据
这一步中演示如何从数据库中获取查询结果的数据。使用ResultSet.getXXX()方法来检索的数据结果。
6. 清理环境资源
在使用JDBC与数据交互操作数据库中的数据后,应该明确地关闭所有的数据库资源以减少资源的浪费。
三、JDBC的最佳实践
数据库资源是非常昂贵的,用完了应该尽快关闭它。Connection, Statement, ResultSet等JDBC对象都有close方法,调用它就好了。
在代码中必须显式关闭掉ResultSet,Statement,Connection,如果你用的是连接池的话,连接用完后会放回池里,但是没有关闭的ResultSet和Statement就会造成资源泄漏了。
在finally块中关闭资源,保证即便出了异常也能正常关闭。
大量相似的查询应当使用批处理完成。
尽量使用PreparedStatement而不是Statement,以避免SQL注入,同时还能通过预编译和缓存机制提升执行的效率。
如果你要将大量数据读入到ResultSet中,应该合理的设置fetchSize以便提升性能。
你用的数据库可能没有支持所有的隔离级别,用之前先仔细确认下。
数据库隔离级别越高性能越差,确保你的数据库连接设置的隔离级别是最优的。
如果你需要长时间对ResultSet进行操作的话,尽量使用离线的RowSet。
以上就是JDBC的运行过程的全部内容,都是干货哟,还不明白的同学可以上博学谷官网进行咨询。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
编程小白应该怎样开始学习编程?
对于编程小白来讲,入门学习编程常常会遇到各种各样的困扰,比如担心自己没有基础而导致学不会,学习的内容太多而迷失方向,收集了不少学习资源但是学起来很吃力等等。其实这些困扰都可以总结成一个问题,即编程小白应该怎样开始学习编程?其实要解决这个问题也不难,下面我们一起来看看零基础小白学习编程的具体路线吧!
5915
2020-02-03 18:36:23
IT编程入门书籍推荐 编程学习资料
IT互联网的发展使得编程这一技能越来越重要,出于各种各样的需要,很多人都对编程学习产生了兴趣。学习编程,和学习其它技能一样,首先肯定是要看一些入门书籍的。学习编程不是一日之功,一定要坚持下去,尤其是开始时比较枯燥,千万不要半途而废。
5684
2020-05-26 11:16:07
IT在线教育培训有哪些优势?
现在是一个全民活到老学到老的时代,越来越多的人会在网上寻找教学内容,随之也就运应而出了许多的在线教育培训机构、网站等,很多人会选择通过他们去学习一些知识,那么在线教育培训有什么优势?在线教育中,运用计算机网络所特有的信息数据库管理技术和双向交互功能。
4875
2020-06-18 17:18:56
零基础学半年时间能成为程序员吗?
随着软件工程和信息网络技术的发展,程序员一职凭借着高薪的待遇和广阔的职业上升空间,成为许多人梦寐以求的岗位。许多IT培训机构也打出了“零基础半年学完课程马上就业”的宣传语。那么,零基础的小白只要需要学习半年时间就可以做程序员,是真的吗?答案是肯定的,只要经过了系统科学的培训,自身也比较努力,成为程序员也并不是什么遥不可及的梦想。
6262
2020-06-29 12:43:54
敏捷开发如何提高工作效率?
敏捷开发应对快速变化的需求的一种软件开发能力,只要在符合价值观和原则的基础上能让开发团队拥有应对快速变化需求的能力。在团队职责上,团队内部具备完成软件交付的角色,团队所有人对软件的质量负责,开发过程由团队内部把控,业务价值团队内部快速流动,在任何环节都能及时获得反馈。
6727
2020-07-09 10:59:19