利用 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);

测试结果:

 

 

 

posted @ 2016-03-16 09:59  任心荒芜  阅读(1523)  评论(0编辑  收藏  举报