文档详情

JSP应用开发与实践 教学课件 作者 刘乃琦 王冲 第9章 数据库应用开发.ppt

发布:2017-08-16约3.7万字共74页下载文档
文本预览下载声明
9.4.4 删除数据 实现数据删除操作也可以通过两种方法实现,一种是通过Statement对象执行静态的SQL语句实现;另一种是通过PreparedStatement对象执行动态的SQL语句实现。 通过Statement对象和PreparedStatement对象实现数据删除操作的方法同实现添加操作的方法基本相同,所不同的就是执行的SQL语句不同,实现数据删除操作使用的SQL语句为DELETE语句,其语法格式如下: DELETE FROM table_name [WHEREsearch condition] 在上面的语法中,table_name用于指定要删除数据的表的名称;search_condition用于指定删除数据的限定条件。在搜索条件中对包含的谓词数量没有限制。 应用Statement对象从数据表tb_user中删除name字段值为hope的数据,关键代码如下: Statement stmt=conn.createStatement(); int rtn= stmt.executeUpdate(delete tb_user where name=hope); 利用PreparedStatement对象从数据表tb_user中删除name字段值为dream的数据,关键代码如下: PreparedStatement pStmt = conn.prepareStatement(delete from tb_user where name=?); pStmt.setString(1,dream); int rtn= pStmt.executeUpdate(); 9.4.5 批处理 在JDBC开发中,操作数据库需要与数据库建立连接,然后将要执行的SQL语句传送到数据库服务器,最后关闭数据库连接,都是按照这样一个流程进行操作。如果按照此流程执行多条SQL语句,那么就需要建立多个数据库连接,将时间浪费在数据库连接上。针对这一问题,JDBC的批处理提供很好的解决方案。 JDBC中的批处理的原理是将批量的SQL语句,一次性发送到数据库中进行执行,从而解决多次与数据库连接所产生的速度瓶颈。 【例9-5】 创建学生信息表,通过JDBC的批处理操作,一次性将多个学生信息写入到数据库中。 (1)创建学生信息表tb_student表,其结构如图9-10所示。 图9-10 学生信息表tb_student (2)创建名称为Batch的类,此类用于实现对学生信息的批量添加操作。首先在Batch类中编写getConnection()方法,用于获取数据库连接Connection对象,其关键代码如下: /** * 获取数据库连接 * @return Connection对象 */ public Connection getConnection(){ Connection conn = null; // 数据库连接 try { Class.forName(com.mysql.jdbc.Driver); // 加载数据库驱动,注册到驱动管理器 // 数据库连接字符串 String url = jdbc:mysql://localhost:3306/db_database09; String username = root; // 数据库用户名 String password = root; // 数据库密码 // 创建Connection连接 conn = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; // 返回数据库连接 } 然后编写saveBatch()方法,实现批量添加学生信息功能,实例中主要通过PreparedStatement对象进行批量添加学生信息,其关键代码如下: /** * 批量添加数据 * @return 所影响的行数 */ public int saveBatch(){ int row = 0 ; // 行数 Connection conn = getConnection(); // 获取数据库连接 try { // 插入数据的SQL语句 String sql = in
显示全部
相似文档