企业进销存管理系统

写在前面的:一个人历时三周可算是完工了(本来有三个小伙伴,可他们才刚刚跟上老师讲课的节奏,so我变成了孤军奋战)。本来以为最多一周就可以完工的,结果这个项目还挺麻烦的。简单的说一下这个项目,本管理系统大致可分为三层Dao层、View层、Service层。Dao层运用的Mybatis和Oracle数据库完成的数据增删改查操作,难一点的操作就是分页、XML标签中的where和set标签以及涉及到了一点多表查询。Service层就是对view传进来的数据进行一个在Dao层的处理,如果有异常则抛出一个自定义的异常。View层就是一些界面,做的比较丑。。
企业进销存管理系统_第1张图片

//执行登陆操作
Login.login(name, passwd);
JOptionPane.showConfirmDialog(null, "登陆成功","温馨提示",JOptionPane.CLOSED_OPTION);
try {
    Controller con = new ControllerService().selectcontroller(name);
    //密码正确则进入主界面
    //这里是从web容器中得来的思路,何不把用户这个对象当作session一样传入下一个界面。
    new FrameView(con);
    //关闭当前界面
    frame.dispose();
    } catch (Exception e) {
        e.printStackTrace();
    }

企业进销存管理系统_第2张图片
主界面中可以进行客户信息管理(增删改),商品信息管理(增删改),供应商信息管理(增删改),进货信息管理(增),库存退货信息管理(增),销售信息管理(增),顾客退货管理(增),查询客户信息,查询商品信息,查询供应商信息,查询销售信息,查询销售退货信息,进货信息查询,库存退货信息查询,销售排行榜,库存盘点,添加删除操作员,修改密码,修改角色。
企业进销存管理系统_第3张图片

//配置文件中的分页查询

<select id="selectBuyGoodsByName" resultType="BuyGoods">
    select *
    from (
    select rownum n,t.*
    from h_buygoods t
    where rownum  #{param3}
    ) a
    where a.variety like #{param1} and a.n >= #{param2}
select>
-- 更新商品 -->
id="updateComodity" parameterType="map">
    update h_commodity
    <set>
        <if test="Small_name!=null">
            Small_name=#{Small_name},
        if>
        <if test="Brith_Place!=null">
            Brith_Place=#{Brith_Place},
        if>
        <if test="Work_Place!=null">
            Work_Place=#{Work_Place},
        if>
        <if test="Standard!=null">
            Standard=#{Standard},
        if>
        <if test="Package!=null">
            Package=#{Package},
        if>
        <if test="Bat_Number!=null">
            Bat_Number=#{Bat_Number},
        if>
        <if test="Approve_Number!=null">
            Approve_Number=#{Approve_Number},
        if>
        <if test="Pervisioner_all_name!=null">
            Pervisioner_all_name=#{Pervisioner_all_name},
        if>
        <if test="Remark!=null">
            Remark=#{Remark},
        if>
    set>
    where All_name=#{All_name}

总结一下:
1、早就想到了建表容易删表难,想要修改更难,所以一个项目在开始前一定要做好准备,后面想要修改真是太麻烦了。
2、Mybatis确实提高了很多效率,是一个不错的工具,提供的自己写sql语句很方便。
3、set标签和where标签 每一句set后面要记得”,” where句子中每一句前面写and或者or
4、我建得表中没有相互的连接,但是学的主键 外键有什么用呢?可能自己还没有想清楚一些知识。慢慢捉摸。
5、Dao层好多冗余的代码是不是可以简化一下呢,也需要后续慢慢捉摸。
6、判断一个输入框输入是否为空的方法,String s;
s==null||”“.equals(s);
锻炼了自己的数据库方面能力,挺好的,没有浪费了时间。这个项目满分是五分的话,可以给自己三分,加油。(项目源码以及其他上传到我的资源了)

你可能感兴趣的:(JAVA学习,项目总结)