JavaWeb仓储管理系统优化设计_javaweb基于三层架构完成一个简单的商品库存管理系统(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

| 03 | tb_warehouse | 仓库表 | 仓库 |
| 04 | tb_record | 出入库记录表 | 出入库记录 |
| 05 | tb_checkrecord | 成本核算表 | 成本核算 |
| 06 | tb_purchase | 采购表 | 采购 |
| 07 | tb_purchaser | 采购员表 | 采购员 |

3.2数据库逻辑结构设计
在这里插入图片描述

四、运行效果截图

4.1登陆界面
在这里插入图片描述

4.2用户登录后界面
在这里插入图片描述

4.3管理员登录后界面

在这里插入图片描述
五、代码展示
5.1登录界面

/**
 * 用于登陆的Servlet
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {

    private SqlSession sqlSession;
    //查询数据mapper
    private AdminDao adminDao;
    private PurchaserDao purchaserDao;
    public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        sqlSession = JdbcUtils.getSession();
        req.setCharacterEncoding("utf-8");
        //登陆的用户
        LoginUser loginUser;
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String usertype = req.getParameter("usertype");
        if(usertype.equals("admin")) {
            Admin admin =new Admin ();
            admin.setUsername(username);
            admin.setPassword(password);
            QueryWrapper<Admin> wrapperAdmin = new QueryWrapper();
            wrapperAdmin.eq("username", username).eq("password", password);
            adminDao =sqlSession.getMapper(AdminDao. class);
            loginUser = adminDao.selectOne(wrapperAdmin);
            if (loginUser != null) {
                sqlSession.close();
                req.getSession().setAttribute("user", loginUser);
                req.getSession().setAttribute("role", "admin");
                resp.sendRedirect(req.getContextPath() + "/hello.jsp");
                return;
            }
        }
        if(usertype.equals("purchaser")) {
            Purchaser purchaser =new Purchaser ();
            purchaser.setUsername(username);
            purchaser.setPassword(password);
            QueryWrapper<Purchaser> wrapperPurchaser = new QueryWrapper();
            wrapperPurchaser.eq("username", username).eq("password", password);
            purchaserDao =sqlSession.getMapper(PurchaserDao. class);
            loginUser = purchaserDao.selectOne(wrapperPurchaser);
            if (loginUser != null) {
                sqlSession.close();
                req.getSession().setAttribute("user", loginUser);
                req.getSession().setAttribute("role", "purchaser");
                resp.sendRedirect(req.getContextPath() + "/hello.jsp");
                return;
            }
        }

        sqlSession.close();
        //登陆失败,就重新登陆
        req.setAttribute("message","账号密码有误,登陆失败");
        req.getRequestDispatcher("/login.jsp").forward(req,resp);

    }

}

5.2采购员用户

/**
* 采购员
*/
@TableName("tb\_purchaser")
public class Purchaser implements Serializable ,LoginUser{

    /**
     *主键
    */
    @TableId
    private String id;
    
        /**
     *用户名
    */
    private String username;
    
        /**
     *密码
    */
    private String password;
    
        /**
     *角色
    */
    private String role;
    
        /**
     *姓名
    */
    private String name;
    
        /**
     *电话
    */
    private String tele;
    
        /**
     *性别
    */
    private String gender;
    
    

    public String getId () {
        return id;
    }
    public void setId (String id ) {
        this.id = id;
    }
        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;
    }
        public String getRole () {
        return role;
    }
    public void setRole (String role ) {
        this.role = role;
    }
        public String getName () {
        return name;
    }
    public void setName (String name ) {
        this.name = name;
    }
        public String getTele () {
        return tele;
    }
    public void setTele (String tele ) {
        this.tele = tele;
    }
        public String getGender () {
        return gender;
    }
    public void setGender (String gender ) {
        this.gender = gender;
    }
    



}

5.3管理员

/**
 * 查询管理员
 */
@WebServlet("/admin/list")
public class ListAdminServlet  extends HttpServlet {
    private SqlSession sqlSession;
    //查询数据mapper
    private AdminDao adminDao;
    //查询外键数据的mapper
                            @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
        sqlSession = JdbcUtils.getSession();
        req.setCharacterEncoding("utf-8");
        QueryWrapper<Admin> wrapper = new QueryWrapper<Admin>();

                            String username = req.getParameter("username");
            if(username !=null && !username.equals("")){
                                    wrapper.like("username",username);
                            }
                                                 String name = req.getParameter("name");
            if(name !=null && !name.equals("")){
                                    wrapper.like("name",name);
                            }
             
        adminDao = sqlSession.getMapper(AdminDao .class);
                        List<Admin> adminList = adminDao .selectList(wrapper);


                        
        //将数据放入request
                                                        //循环遍历list数据,统计、获取外键数据


![img](https://img-blog.csdnimg.cn/img_convert/24aa54fd0a8c640b119b3fd9b2196eb3.png)
![img](https://img-blog.csdnimg.cn/img_convert/65c9a7d448cb132e1b073a844fa53c91.png)
![img](https://img-blog.csdnimg.cn/img_convert/6160cdee3f93a23d1ddbb5806a14d116.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/topics/618545628)**

链图片转存中...(img-yYouWMe4-1715676257921)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.youkuaiyun.com/topics/618545628)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值