前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库面试,详解4道常见JDBC面试题

数据库面试,详解4道常见JDBC面试题

作者头像
用户1289394
发布2021-08-27 11:45:00
4330
发布2021-08-27 11:45:00
举报
文章被收录于专栏:Java学习网Java学习网Java学习网

JDBC提供了诸如查询和更新数据库中数据的方法,本质上是用来规范访问数据库的应用程序接口。总的来说,JDBC在数据库中有着不容忽视的地位,需要我们花费足够的时间去学习,无论是在求职面试还是学习中都需要重视。下面为大家介绍4道经典JDBC面试题。

1、JDBC操作数据库的步骤 ?

(1)、注册数据库驱动。

(2)、建立数据库连接。

(3)、创建一个Statement。

(4)、执行SQL语句。

(5)、处理结果集。

(6)、关闭数据库连接

2、JDBC中的Statement 和PreparedStatement,CallableStatement的区别?

区别:

(1)、PreparedStatement是预编译的SQL语句,效率高于Statement。

(2)、PreparedStatement支持?操作符,相对于Statement更加灵活。

(3)、PreparedStatement可以防止SQL注入,安全性高于Statement。

(4)、CallableStatement适用于执行存储过程。

3、说说数据库连接池工作原理。

JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

数据库连接池的实现方案?

连接池使用集合来进行装载,返回的Connection是原始Connection的代理,代理Connection的close方法,当调用close方法时,不是真正关连接,而是把它代理的Connection对象放回到连接池中,等待下一次重复利用。

4、execute,executeQuery,executeUpdate的区别是什么?

Statement的execute(String query)方法用来执行任意的SQL查询,如果查询的结果是一个ResultSet,这个方法就返回true。如果结果不是ResultSet,比如insert或者update查询,它就会返回false。我们可以通过它的getResultSet方法来获取ResultSet,或者通过getUpdateCount()方法来获取更新的记录条数。

·Statement的executeQuery(String query)接口用来执行select查询,并且返回ResultSet。即使查询不到记录返回的ResultSet也不会为null。我们通常使用executeQuery来执行查询语句,这样的话如果传进来的是insert或者update语句的话,它会抛出错误信息为 “executeQuery method can not be used for update”的java.util.SQLException。

Statement的executeUpdate(String query)方法用来执行insert或者update/delete(DML)语句,或者 什么也不返回DDL语句。返回值是int类型,如果是DML语句的话,它就是更新的条数,如果是DDL的话,就返回0。

· 只有当你不确定是什么语句的时候才应该使用execute()方法,否则应该使用executeQuery或者executeUpdate方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java学习网 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档