利用 DBHelper实现增加、删除、修改数据库字段功能
(1)连接好mysql数据库,如果无法连接,先打开mysql服务。新建一个数据库,名字为text,在新建一个数据表,名字为user,添加三个字段:用户ID、用户名和密码。
(2)新建 web 项目UserManager,根据MVC模型的设计,建立四个包:beans、DAO、DBHelper、servlet。将所需要的DBHelper导入新建Web项目的DBHelper中,注意要使数据库名字保持一致。将mysql-connector-java-5.1.24-bin.jar数据库连接驱动导入到该项目的WEB-INF的lib目录下。如图:
这里提到的 MVC----(Model View Controller)设计模型:
M:表示业务数据和业务规则。包括DAO(beans)、DBHelper(DBHelper),用于封装数据库连接,业务数据库处理。
V:是用户看到并与之交互的界面,比如 JSP 经常充当Web应用视图。
C:接收用户是输入并调用模型和视图去完成用户需求。
(3)在beans包中新建class,名字为User,建好私有实体类,并且要与数据库中的字段名一致,添加需要的get和set方法。
package entity; public class User { private String userID; private String userName; private String password; public String getUserID() { return userID; } public void setUserID(String userID) { this.userID = userID; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
(4) DAO中需要新建一个UserDAO,用于执行SQL添加、删除、修改语句。
package DAO; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import tools.DBHelper; import tools.DBtools; import entity.User; public class UserDAO{ public boolean insert(User u){ String SQL="INSERT INTO user(userID,userName,password)VALUES(?,?,?)"; Object[] params=new Object[]{u.getUserID(),u.getUserName(),u.getPassword()}; int n=DBHelper.ExecSql(SQL,params); if(n>0) return true; else return false; } public boolean delete(User u){ String sql="delete from user where userID=?"; Object[] obj=new Object[]{u.getUserID()}; int rs=DBHelper.ExecSql(sql,obj); if(rs==1) return true; else return true; } public boolean update(User u){ String sql="update user set username=?,password=? where userID=?"; Object[] obj=new Object[]{u.getUserName(),u.getPassword(),u.getUserID()}; int rs=DBHelper.ExecSql(sql,obj); if(rs==1) return true; else return false; } public static List getAllUser(){ List users=new ArrayList(); String SQL="SELECT * FROM user"; ResultSet rs=DBHelper.getResultSet(SQL); return DBtools.ResultSettoList(rs, User.class); } }
(5)新建一个测试类TextDAO,测试程序结果。
测试添加 UserDAO dao=new UserDAO(); User u=new User(); u.setUserID("as"); u.setUserName("Lucy"); u.setPassword("123"); dao.insert(u);
测试结果:
测试删除 UserDAO dao=new UserDAO(); User u=new User(); u.setUserID("as"); dao.delete(u);
测试结果:
测试修改 UserDAO dao=new UserDAO(); User u=new User(); u.setUserID("1"); u.setUserName("King"); u.setPassword("333"); dao.update(u);
测试结果: