- 11
- 0
- 约1.34千字
- 约 18页
- 2018-04-26 发布于福建
- 举报
第6章 JDBC 数据库访问技术 6.1 JDBC基础知识6.2 脚本方式实现数据库增删改查6.3 封装类实现增删改查6.4 脚本方式实现分页6.5 预编译进行数据库的增删改查6.6 连接池的使用6.7 调用存储过程6.8 JDBC事务6.3 封装类实现增删改查 在上一节数据库操作中需要在JSP页面完成 关闭与数据库的连接,若不关闭连接,在等待页实例被垃圾回收处理期间可能会导致数据库连接超过连接限制,且将代码放在页面中,不利于扩展及连接的共享,性能低,将连接字符串、SQL语句暴露在页面中不利于数据库的安全,连接代码需要重复书写,不利于代码重用等不利因素,影响程序的复用性和软件的灵活性。因此将数据库连接访问代码封装在类中,可以避免以上问题。新建一个Dynamic Web Project 名为 hello6,将MySQl数据库驱动文件复制到WebContent/web-inf/lib目录中,在Java Resources/src下目录cap.db下新建一个类DBCon.java,用于封装数据库连接。主要代码如下:package cap.db;import java.sql.*;ublic class DBCon {//数据库连接字符串的定义 private String driver=com.mysql.jdbc.Driver; private String url=jdbc:mysql://127.0.0.1:3306/cap; private String user=root; private String pass=admin; private Connection conn=null;{//数据库查询public ResultSet doQuery(String sql){ conn=this.getConnection(); Statement stmt= null; ResultSet rs=null; try { stmt = conn.createStatement(); rs=stmt.executeQuery(sql); } catch (SQLException e) { e.printStackTrace(); } return rs; }//数据库连接public Connection getConnection(){try {Class.forName(driver); conn=DriverManager.getConnection(url,user,pass); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace();} return conn; }//数据库更新public int doUpdate(String sql){ conn=this.getConnection(); Statement stmt= null; int res=0; try { stmt = conn.createStatement();res=stmt.executeUpdate(sql); } catch (SQLException e) { e.printStackTrace(); } return res; }//关闭 public void close(){ if(conn!=null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } }}新建JSP页,如do_query.jsp、 do_edit.jsp、 do_insert.jsp、 do_update.jsp、 addAdmin.jsp、 do_delete.jsp等(或从hello5种复制过来再修改主要代码)。各个JSP页面部分代码为: (1) do_query.jsp %@ page import=cap.db.*,java.sql.*%body%request.setCharacterEncoding(UTF-8); DBCon dbc = new DBCon(); String sql = select * from admin order by id; ResultSet rs = dbc.doQuery(sql);%table% while (rs.next()) { %tr td%=rs.getInt(id)% /tdtd%=rs.getString(username)% /td td%=rs.getString(password)%/td td a href=“do_del
您可能关注的文档
- 2017年昆明联考初中物理试卷.pdf
- 2017年秋季安全大检查工作总结.doc
- 2017年秋季湖北省重点高中联考协作体期中考试(高一数学试卷).docx
- 2017年数学中考说明解读.ppt
- 2017年漳州市初中地理市质检.doc
- 2017上海各区二模化学卷答案详解6.docx
- 2017人教版化学九年级上册第四单元课题4《化学式与化合价》(第1课时)教学课件.ppt
- 2017下学期高二英语期末考试试卷分析.doc
- 2017中考生物专题复六--生殖与遗传.docx
- 2018(小升初)模拟考试.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年寒假作业九年级化学人教版答案.pdf VIP
- 李子奈计量经济学(第五版)-第一章-绪论.pptx VIP
- 第21讲 相似三角形及其应用(练习)(教师版)-2025年中考数学一轮复习讲练测.docx VIP
- 信息安全管理手册.doc VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之球的切接问题.pdf VIP
- 2026年高考数学二轮复习突破:立体几何与空间向量之空间向量与空间角.pdf VIP
- 2026年养老院营销策划方案.docx VIP
- 博雅教育理念与钢琴教育融合思考.doc VIP
- 部编人教版五年级语文下册全册教案(表格版).pdf VIP
- 《数据采集与预处理》教学教案(全).doc VIP
原创力文档

文档评论(0)