博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
封装类实现增删改查
阅读量:6580 次
发布时间:2019-06-24

本文共 2279 字,大约阅读时间需要 7 分钟。

上一篇博客,可以看出每一个jsp页面都存在数据库访问代码;将连接代码和SQL语句暴露在页面中,不利于数据库安全;连接代码需要重复书写,不利于代码重用,影响程序复用性和软件的灵活性。因此,将数据库访问代码利用类封装起来,可以很好的避免这些问题。

在Java Resources/src目录db_admin包下新建DBCon.java类,用于封装数据库的连接。

DBCon类:

package db_admin;import java.sql.*;public class DBCon {    private String dbDriver = "com.mysql.jdbc.Driver";//定义连接数据库相关变量    private String dbUrl = "jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf-8";    private String dbUser = "root";    private String dbPwd = "123456";    private Connection conn = null;    public Connection getConnection() {
//完成Mysql数据库驱动的加载后进行数据库连接 try { Class.forName(dbDriver); conn = DriverManager.getConnection(dbUrl,dbUser,dbPwd); }catch(ClassNotFoundException e) { e.printStackTrace(); }catch(SQLException e) { e.printStackTrace(); } return conn; } public ResultSet doQurey(String sql) {
//实现查询操作 ResultSet rs = null; conn = this.getConnection(); try { Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql); }catch(Exception e) { e.printStackTrace(); } return rs; } public int doUpdate(String sql) {
//实现更新操作 int res = 0; conn = this.getConnection(); try { Statement stmt = conn.createStatement(); res = stmt.executeUpdate(sql); }catch(Exception e) { e.printStackTrace(); } return res; } public void close() throws SQLException{ try { conn.close();//关闭相关对象,释放内存 }catch(Exception e) { e.printStackTrace(); } }}

相应的查询代码更改为:

<%@page import="java.sql.*,db_admin.*"%><%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
查看数据库表中信息<%DBCon dbc = new DBCon();//创建DBCon对象dbc,调用DBCon的构造函数进行数据库连接String sql = "select * from admin order by id";ResultSet rs = dbc.doQurey(sql);%>
<%while(rs.next()){ %>
<%} %>
<%= rs.getInt("id") %> <%= rs.getString("username") %> <%= rs.getString("password") %> ">删除 ">编辑
增加用户

其余的增删改查代码(上篇:脚本方式实现数据库的增删改查)做相应的改动,大大提高了性能和效率。

转载于:https://www.cnblogs.com/Lia-633/p/7804295.html

你可能感兴趣的文章
3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令
查看>>
关于css的水平,垂直居中
查看>>
修改(切换)当前数据库的UNDO表空间
查看>>
使用VM Tools让VMware虚拟机里的ubuntu能够共享Windows系统的文件夹
查看>>
怎样实现短信验证功能
查看>>
【2018.06.11学习笔记】【linux高级知识 12.13-12.16】
查看>>
阿里云宣布进入 Serverless 容器时代,推出弹性容器实例服务 ECI
查看>>
接收三个班级的各四名学员的成绩信息,然后计算每个班级学员的平均分
查看>>
分布式服务框架之远程通讯技术及原理分析
查看>>
思维导图XMind 8 Pro 绿化方法(附序列号)
查看>>
Redis
查看>>
离线安装cmake
查看>>
怎样使用主流缓存更新策略来减少性能消耗?
查看>>
转型架构师必读:实用架构的搭建思路
查看>>
1.8 字典 1.9 字典练习 2.0/2.1 流程控制-if条件判断
查看>>
Java字符串类型
查看>>
Ubuntu 下 JDK和Tomcat安装
查看>>
jquery-jmodal-显示对话框
查看>>
Spark任务上传
查看>>
nginx做反向代理时出现302错误
查看>>