JDBC相关常见面试题

1.什么是JDBC?
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
2.JDBC操作数据库的步骤 ?
1.注册数据库驱动。
2.建立数据库连接。
3.创建一个Statement。
4.执行SQL语句。
5.处理结果集。
6.关闭数据库连接
3.解释下驱动(Driver)在JDBC中的角色。
Driver接口,它是任何数据库提供商的驱动类必须实现的接口,驱动类必须实现该接口中的所有方法
(Connection, Statement, PreparedStatement,CallableStatement, ResultSet和Driver)
4.Class.forName()方法有什么作用?
加载驱动
为了加载类时,调用静态初始化块中的注册函数。
5.PreparedStatement比Statement有什么优势?
PreparedStatements是预编译的,因此,性能会更好。同时,不同的查询参数值,PreparedStatement可以重用。
6.Statement流程
1、创建 Statement 对象
2、使用 Statement 对象执行语句(executeQuery、executeUpdate 和 execute)
3、语句完成
4、关闭 Statement 对象
.7JDBC中的Statement 和PreparedStatement,CallableStatement的区别?
PreparedStatement是预编译的SQL语句,效率高于Statement。
PreparedStatement支持?操作符,相对于Statement更加灵活。
PreparedStatement可以防止SQL注入,安全性高于Statement。
CallableStatement适用于执行存储过程。
8.数据库连接池是什么意思?
像打开关闭数据库连接这种和数据库的交互可能是很费时的,尤其是当客户端数量增加的时候,会消耗大量的资源,成本是非常高的。可以在应用服务器启动的时候建立很多个数据库连接并维护在一个池中。连接请求由池中的连接提供。在连接使用完毕以后,把连接归还到池中,以用于满足将来更多的请求。
工作原理:JAVA EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

9.写出一段JDBC连接本机MySQL数据库的代码

Class.forName("com.mysql.jdbc.Driver");
	String url="jdbc:mysql://localhost/test";
	Stirng user='root';
	String password='root';
	Connection conn = DriverManager.getConnection(url,user,password);

10.JDBC的脏读是什么?
脏读是指一个事务读取到另外一个事务未提交的数据
11.JDBC的DriverManager是用来做什么的?
是一个工厂类,我们通过它来创建数据库连接,当JDBC的Driver类被加载进来时,它会自己注册到DriverManager类里面。
12.JDBC的ResultSet是什么?
JDBC是通过ResultSet来管理结果集,操作ResultSet可以通过移动其指针来指向不同的行记录,然后取出当前记录即可。并且ResultSet可以完成更新记录,还提供了ResultSetMetaData来获得对象相关信息。
13.常见的JDBC异常有哪些?
java.sql.SQLException——这是JDBC异常的基类。
java.sql.BatchUpdateException——当批处理操作执行失败的时候可能会抛出这个异常。这取决于具体的JDBC驱动的实现,它也可能直接抛出基类异常
java.sql.SQLWarning——SQL操作出现的警告信息。
java.sql.DataTruncation——字段值由于某些非正常原因被截断了(不是因为超过对应字段类型的长度限制)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wáng bēn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值