zoukankan      html  css  js  c++  java
  • 利用 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);

    测试结果:

     

  • 相关阅读:
    解题:POI 2008 Plot purchase
    1807. 斐波纳契数列简单
    1745. 单调数列
    1700. 增减字符串匹配
    1665. 计算数字
    1523. 分区数组
    1517. 最大子数组
    1598. 两句话中的不常见单词
    1594. 公平的糖果交换
    1510. 亲密字符串(回顾)
  • 原文地址:https://www.cnblogs.com/Believer/p/5282284.html
Copyright © 2011-2022 走看看