项目思路过程

                  

 

 

   从左到右调用方法,从右往左通过返回值。

   view层作用: 视图层,即项目中的界面

   controller层作用: 控制层, 获取界面上的数据,为界面设置数据; 将要实现的功能交给业务层处理,接收数据,封装属性。

   service层作用: 业务层, 功能的实现, 与controller控制层和数据访问层DAO交互, 将对数据库的操作交给DAO数据访问层来处理

   dao层作用: 数据访问层, 用来操作数据库表的数据

   db数据库: 这里指MySQL  

   domain 实体包: 存放JavaBean

   tools工具包:存放项目中使用到的工具类

        test 测试包: 存放项目功能测试的代码

首先需要导入7个包:

    com.oracle.view     有几个表格需要创建几个类,类名用表格明+View命明

    包下的代码:

  

   public class MainView {
    //主页面
      public void MainPage(){
          System.out.println("-----欢迎进入XXX系统------");
          System.out.println("1:注册");
          System.out.println("2:登录");
          System.out.println("3:退出");
          System.out.println("请输入您的选择:");
        }
        //主菜单
        public void MainView(){
            Scanner sc=new Scanner(System.in);
              while(true){
                //调用主页面
                MainPage();
                //让用户输入选择
                  int choose=sc.nextInt();
                  switch(choose){
                case 1://注册
                  break;
                  case 2://登录
                    new SortView().view();;
                    break;
                  case 3:
                    return;
                    default:
                    System.out.println("你的输入有误,请重新输入");
                    break;
                }
              }
          }
        }                               主页面视图

 

        public class SortView {
        //管理页面
            private SortController  sortController=new  SortController();
            public void sortMain(){
              System.out.println("----分类管理");
              System.out.println("1:新增分类");
                System.out.println("2:修改分类");
              System.out.println("3:删除分类");
              System.out.println("4:查询所有分类");
               System.out.println("5:返回上一级");
              System.out.println("请输入你的选择");
            }
            //管理菜单
            public void view(){
              Scanner sc=new Scanner(System.in);
              while(true){
                  sortMain();
                  int choose=sc.nextInt();
                  switch(choose){
                  case 1://新增方法
                      add();
                      break;
                  case 2://修改方法
                      update();
                      break;
                    case 3://删除方法
                      delete();
                      break;
                    case 4://查询所有方法
                        get();
                      break;
                  case 5://返回上一级
                      return;
                      default:
                          System.out.println("您的输入有误,请重新输入");
                        break;
                        }
                  }
        
        public void add(){
        System.out.println("---新增分类----");
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入分类名称");
        String sname=sc.next();
        System.out.println("请输入分类描述:");
        String sdesc=sc.next();
        //调用Controller层的新增分类方法
        int row=sortController.add(sname,sdesc);
        if(row>0){
            System.out.println("新增成功");
        }else{
            System.out.println("新增失败");
        }
    }
    //修改分类
    public void update(){
        Scanner sc=new Scanner(System.in);
        System.out.println("---修改分类页面---");
        System.out.println("请输入您要修改的商品编号");
        int sid=sc.nextInt();
        System.out.println("请输入您要修改的分类名称");
        String sname=sc.next();
        System.out.println("请输入您要修改的分类描述");
        String sdesc=sc.next();
        int row=sortController.update(sid, sname, sdesc);
        if(row>0){
            System.out.println("修改成功");
        }else{
            System.out.println("修改失败");
        }
    }
    //删除分类
    public void delete(){
        Scanner sc=new Scanner(System.in);
        System.out.println("---删除分类页面---");
        System.out.println("请输入删除编号");
        int sid=sc.nextInt();
        //调用Controller层的删除方法
        int row=sortController.delete(sid);
        if(row>0){
            System.out.println("删除成功");
        }else{
            System.out.println("删除失败");
        }
    }
    //查询所有分类
    public void get(){
        //获取所有分类集合
        List<Sort> list=sortController.get();
        System.out.println("---查询所有分类---");
        System.out.println("分类编号\t分类名称\t发类描述");
        for(Sort sort:list){
            System.out.println(sort.getSid()+"\t"+sort.getSname()+"\t"+sort.getSdesc());
        }
    }         public class UserView {                      }

 

第二个包:

      com.oracle.controller  

      1:获取注册用户的信息封装成User对象

      2:调用用户注册的功能

      3:获取注册结果

      4:根据注册结果,给用户提示是否注册成功

      包下代码:

         

 public class SortController {
          //新增分类的方法
                private SortService  sortService=new  SortService();
              public int add(String sname,String sdesc){
                  return sortService.add(sname,sdesc);
                }
              //修改分类
              public int update(int sid,String sname,String sdesc){
                //将前台数据封装到Sort对象中
                Sort sort=new Sort();
                sort.setSid(sid);
                sort.setSname(sname);
                sort.setSdesc(sdesc);
                return sortService.update(sort);
              }
             //删除分类
              public int delete(int sid){
                  return sortService.delete(sid);
                }
              //查询所有分类
              public List<Sort> get(){
                  return sortService.get();
                }
              }
                  }

 


             

第三个包:

        com.oracle.service

        1:获取已存在的所有用户

        2:通过遍历得到每一个用户信息,然后与新用户进行比较

        3:结果:用户存在,不注册,用户不存在,注册新用户

        包下代码:       
        //业务逻辑处理,解决异常
      

  public class SortService {
        private SortDao sortDao=new SortDao();
        //新增分类
        public int add(String sname,String sdesc){
            int row=0;
               try {
                row=sortDao.add(sname, sdesc);
              } catch (SQLException e) {
                  e.printStackTrace();
              }
               return row;
            }
            //修改分类
          public int update(Sort sort){
            int row=0;
            try {
              row=sortDao.update(sort);
            } catch (SQLException e) {
              e.printStackTrace();
              }
            return row;
          }
            //删除分类
          public int delete(int sid){
            int row=0;
              try {
                row=sortDao.delete(sid);
            } catch (SQLException e) {
                e.printStackTrace();
              }
            return row;
          }
          public List<Sort> get(){
              List<Sort> list=null;
              try {
                  list=sortDao.get();
            } catch (SQLException e) {
                e.printStackTrace();
              }
              return list;
            }
            }

 

第四个包:

        com.oracle.dao

        数据层访问

        1:查询用户信息方法

        2:添加用户方法

        包下代码:

        

  //负责连接数据库,进行增删改查
          public class SortDao {
          //新增分类
              public int add(String sname,String sdesc) throws SQLException{
                //1:获取连接对象
                Connection conn=JDBCUtils.getConn();
                //2:获取语句执行对象
                String sql="insert into sort(sname,sdesc) values(?,?)";
                PreparedStatement pst=conn.prepareStatement(sql);
                //执行sql语句
                pst.setString(1,sname);
                pst.setString(2,sdesc);
                int row=pst.executeUpdate();
                JDBCUtils.close(conn, pst);
                return row;
                }
              //修改分类           
public int update(Sort sort) throws SQLException{          Connection conn=JDBCUtils.getConn();          String sql="update sort set sname=?,sdesc=? where sid=?";         PreparedStatement pst=conn.prepareStatement(sql);         pst.setString(1,sort.getSname());          pst.setString(2,sort.getSdesc());          pst.setInt(3, sort.getSid());          int row =pst.executeUpdate();          JDBCUtils.close(conn, pst);          return row;            }           //删除分类            public int delete(int sid) throws SQLException{            Connection conn=JDBCUtils.getConn();            String sql="delete from sort where sid=?";            PreparedStatement pst=conn.prepareStatement(sql);            pst.setInt(1, sid);            int row=pst.executeUpdate();            JDBCUtils.close(conn, pst);            return row;             }                //查询所有分类              public List<Sort> get() throws SQLException{            Connection conn=JDBCUtils.getConn();            String sql="select * from sort";              PreparedStatement pst=conn.prepareStatement(sql);              ResultSet rs=pst.executeQuery();              List<Sort> list=new ArrayList<Sort>();              while(rs.next()){            Sort sort=new Sort();           sort.setSid(rs.getInt("sid"));            sort.setSname(rs.getString("sname"));            sort.setSdesc(rs.getString("sdesc"));            list.add(sort);                }            JDBCUtils.close(conn, pst, rs);            return list;              }               }

 

第五个包:

      com.oracle.tools

      包下代码:

        。。。

第六个包:

      com.oracle.test

      包下代码:

       

 public class Demo {
            public static void main(String[] args) {
              new MainView().MainView();
            }
        }

 

第七个包:

      com.oracle.domain

      包下代码:

     

 public class Sort {
      private int sid;
      private String sname;
      private String sdesc;
      public int getSid() {
          return sid;
        }
      public void setSid(int sid) {
          this.sid = sid;
        }
      public String getSname() {
          return sname;
      }
      public void setSname(String sname) {
          this.sname = sname;
      }
      public String getSdesc() {
          return sdesc;
      }
      public void setSdesc(String sdesc) {
          this.sdesc = sdesc;
        }
      @Override
      public String toString() {
            return "Sort [sid=" + sid + ", sname=" + sname + ", sdesc=" + sdesc + "]";
        }
        }

 登录功能:

    

public class UserView {
//登录功能
    private UserController userController=new UserController();
    public void login(){
        Scanner sc=new Scanner(System.in);
        System.out.println("---登录页面----");
        System.out.println("请输入用户名");
        String uname=sc.next();
        System.out.println("请输入密码:");
        String pwd=sc.next();
        //调用Controller层的方法
        int count=userController.login(uname, pwd);
        if(count>0){
            new SortView().view();
        }else{
            System.out.println("用户名或密码错误");
        }
    }
}
public class UserController {
//登录功能
    private UserService userService=new UserService();
    public int login(String uname,String pwd){
        //参数进行封装
        User user=new User();
        user.setUname(uname);
        user.setPwd(pwd);
        return userService.login(user);
    }
}
public class UserService {
private UserDao userDao=new UserDao();
//登录功能
public int login(User user){
    int count=0;
    try {
        count=userDao.login(user);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return count;
}
}
public class User {
    private int uid;
private String uname;
private String pwd;
public int getUid() {
    return uid;
}
public void setUid(int uid) {
    this.uid = uid;
}
public String getUname() {
    return uname;
}
public void setUname(String uname) {
    this.uname = uname;
}
public String getPwd() {
    return pwd;
}
public void setPwd(String pwd) {
    this.pwd = pwd;
}
@Override
public String toString() {
    return "User [uid=" + uid + ", uname=" + uname + ", pwd=" + pwd + "]";
}


}
public class UserDao {
//登录功能
public int login(User user) throws SQLException{
    Connection conn=JDBCUtils.getConn();
    String sql="select count(*) from user where uname=? and pwd=?";
    PreparedStatement pst=conn.prepareStatement(sql);
    pst.setString(1,user.getUname());
    pst.setString(2, user.getPwd());
    ResultSet rs=pst.executeQuery();
    int count=0;
    while(rs.next()){
        count=rs.getInt(1);    
    }
    JDBCUtils.close(conn, pst,rs);
    return count;
}
}

 

posted @ 2020-10-19 21:41  马雪峰1  阅读(307)  评论(0)    收藏  举报