JDBC基础:executeQuery、executeUpdate与execute的区别解析

需积分: 0 0 下载量 142 浏览量 更新于2024-08-18 收藏 441KB PPT 举报
本文主要介绍了JDBC(Java数据库连接)的基础知识,包括其用途、核心组件和使用场景。JDBC是一套Java API,允许开发者使用Java编写与多种数据库交互的应用程序,如Oracle、DB2、SQL Server和MySQL。在JDBC中,有两个主要的包:java.sql和javax.sql,分别提供了基本和扩展的数据库操作功能。 在JDBC操作数据库的过程中,有几个关键的接口和类扮演着重要角色。`Connection`接口表示与数据库的连接,它允许执行SQL语句,获取数据库元数据等。`ResultSet`接口表示查询结果集,用于存储和遍历查询结果。`Statement`接口用于执行非预编译的SQL语句,并将结果存储在ResultSet中。`PreparedStatement`接口则用于执行预编译的SQL语句,提高效率并减少SQL注入的风险。 执行SQL语句时,有三个关键的执行方法: 1. `executeQuery()`:专门用于执行SELECT语句,返回一个ResultSet对象,包含了查询结果。 2. `executeUpdate()`:适用于UPDATE、DELETE、INSERT等改变数据的语句,返回一个int值,表示受影响的行数。 3. `execute()`:这是一个通用方法,对于SELECT语句返回true,其他情况返回false。通常在不确定执行的是什么类型的SQL语句时使用。 在实际开发中,JDBC规范推荐使用接口编程,以保持与具体数据库驱动程序的解耦。`DriverManager`类负责加载数据库驱动和创建数据库连接。通过这些接口和类,开发者可以完成数据库的连接、SQL语句的执行、数据的读取和写入等一系列操作。 JDBC的操作步骤通常包括: 1. 加载数据库驱动。 2. 建立数据库连接。 3. 创建Statement或PreparedStatement对象。 4. 执行SQL语句,根据语句类型调用executeQuery()或executeUpdate()。 5. 处理查询结果,如果有的话,通过ResultSet对象进行遍历。 6. 关闭ResultSet、Statement和Connection,释放资源。 了解和熟练掌握JDBC是任何Java开发者进行数据库操作的基础,它为数据库应用程序提供了标准化的接入途径,提高了开发的效率和代码的可移植性。

检查以下语法错误:<body> 返回 主页

编写人姓名: 胡莲 学号:20212310930228
<% request.setCharacterEncoding("UTF-8"); String sxh = request.getParameter("xh").trim(); String sname = request.getParameter("name").trim(); String sclassname = request.getParameter("classname").trim(); int sage = Integer.parseInt(request.getParameter("age")); String saddress = request.getParameter("address").trim(); String sphone = request.getParameter("phone").trim(); String scity = request.getParameter("city").trim(); String snotes = request.getParameter("notes").trim(); String sql = "update student set name='" + sname + "'" + ",classname='" + sclassname + "'" + ",age='" + sage + "'"+ "'" + ",address='" + saddress + "'"+ "'" + ",phone='" + sphone + "'"+ "'" + ",city='" + scity + "'"+ "'" + ",notes='" + snotes + "'"+ "where xh='" + sxh + "'"; try { java.sql.Connection conn = null; Class.forName("com.mysql.jdbc.Driver").newInstance(); //加载驱动程序 conn = java.sql.DriverManager .getConnection( "jdbc:mysql://localhost:3306/studentdb?useUnicode=true&characterEncoding=utf8", "root", "123456"); //URL指向数据库student PreparedStatement pstatement = conn.prepareStatement(sql); //建立SQL语句 pstatement.execute(); //执行SQL语句 out.print("学生(" + sxh + "," + sname + "," + sclassname + "," + sage + ")");//打印sql out.println("信息更新成功!"); pstatement.close(); conn.close(); } catch (SQLException e1) { System.out.print("sql语句失败!"); e1.printStackTrace(); } catch (Exception e2) { System.out.print("sql语句失败!"); e2.printStackTrace(); } %> </body>

2023-05-28 上传