SMBMS超市管理系统学习

SMBMS项目搭建准备工作

1、搭建Maven web项目在这里插入图片描述
2、配置Tomcat在这里插入图片描述
3、测试项目是否能否正常运行

在这里插入图片描述

4、在pom.xml导入项目中所需的jar包
<dependencies>
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.3</version>
  </dependency>
  <dependency>
    <groupId>javax.servlet.jsp.jstl</groupId>
    <artifactId>jstl-api</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
  </dependency>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
  </dependency>
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.61</version>
  </dependency>
</dependencies>
5、创建数据库表及增加数据
/*
Navicat MySQL Data Transfer

Source Server         : localhost_3306
Source Server Version : 50555
Source Host           : 127.0.0.1:3306
Source Database       : smbms

Target Server Type    : MYSQL
Target Server Version : 50555
File Encoding         : 65001

*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for smbms_address
-- ----------------------------
DROP TABLE IF EXISTS `smbms_address`;
CREATE TABLE `smbms_address` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `contact` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人姓名',
  `addressDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '收货地址明细',
  `postCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '邮编',
  `tel` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系人电话',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',
  `modifyDate` datetime DEFAULT NULL COMMENT '修改时间',
  `userId` bigint(20) DEFAULT NULL COMMENT '用户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of smbms_address
-- ----------------------------
INSERT INTO `smbms_address` VALUES ('1', '王丽', '北京市东城区东交民巷44号', '100010', '13678789999', '1', '2016-04-13 00:00:00', null, null, '1');
INSERT INTO `smbms_address` VALUES ('2', '张红丽', '北京市海淀区丹棱街3号', '100000', '18567672312', '1', '2016-04-13 00:00:00', null, null, '1');
INSERT INTO `smbms_address` VALUES ('3', '任志强', '北京市东城区美术馆后街23号', '100021', '13387906742', '1', '2016-04-13 00:00:00', null, null, '1');
INSERT INTO `smbms_address` VALUES ('4', '曹颖', '北京市朝阳区朝阳门南大街14号', '100053', '13568902323', '1', '2016-04-13 00:00:00', null, null, '2');
INSERT INTO `smbms_address` VALUES ('5', '李慧', '北京市西城区三里河路南三巷3号', '100032', '18032356666', '1', '2016-04-13 00:00:00', null, null, '3');
INSERT INTO `smbms_address` VALUES ('6', '王国强', '北京市顺义区高丽营镇金马工业区18号', '100061', '13787882222', '1', '2016-04-13 00:00:00', null, null, '3');

-- ----------------------------
-- Table structure for smbms_bill
-- ----------------------------
DROP TABLE IF EXISTS `smbms_bill`;
CREATE TABLE `smbms_bill` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `billCode` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '账单编码',
  `productName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品名称',
  `productDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品描述',
  `productUnit` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '商品单位',
  `productCount` decimal(20,2) DEFAULT NULL COMMENT '商品数量',
  `totalPrice` decimal(20,2) DEFAULT NULL COMMENT '商品总额',
  `isPayment` int(10) DEFAULT NULL COMMENT '是否支付(1:未支付 2:已支付)',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  `providerId` int(20) DEFAULT NULL COMMENT '供应商ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of smbms_bill
-- ----------------------------
INSERT INTO `smbms_bill` VALUES ('1', 'BILL2016_001', '洗发水、护发素', '日用品-洗发、护发', '瓶', '500.00', '25000.00', '2', '1', '2014-12-14 13:02:03', '15', '2019-04-16 21:43:12', '13');
INSERT INTO `smbms_bill` VALUES ('2', 'BILL2016_002', '香皂、肥皂、药皂', '日用品-皂类', '块', '1000.00', '10000.00', '2', '1', '2016-03-23 04:20:40', null, null, '13');
INSERT INTO `smbms_bill` VALUES ('3', 'BILL2016_003', '大豆油', '食品-食用油', '斤', '300.00', '5890.00', '2', '1', '2014-12-14 13:02:03', null, null, '6');
INSERT INTO `smbms_bill` VALUES ('4', 'BILL2016_004', '橄榄油', '食品-进口食用油', '斤', '200.00', '9800.00', '2', '1', '2013-10-10 03:12:13', null, null, '7');
INSERT INTO `smbms_bill` VALUES ('5', 'BILL2016_005', '洗洁精', '日用品-厨房清洁', '瓶', '500.00', '7000.00', '2', '1', '2014-12-14 13:02:03', null, null, '9');
INSERT INTO `smbms_bill` VALUES ('6', 'BILL2016_006', '美国大杏仁', '食品-坚果', '袋', '300.00', '5000.00', '2', '1', '2016-04-14 06:08:09', null, null, '4');
INSERT INTO `smbms_bill` VALUES ('7', 'BILL2016_007', '沐浴液、精油', '日用品-沐浴类', '瓶', '500.00', '23000.00', '1', '1', '2016-07-22 10:10:22', null, null, '14');
INSERT INTO `smbms_bill` VALUES ('8', 'BILL2016_008', '不锈钢盘碗', '日用品-厨房用具', '个', '600.00', '6000.00', '2', '1', '2016-04-14 05:12:13', null, null, '14');
INSERT INTO `smbms_bill` VALUES ('9', 'BILL2016_009', '塑料杯', '日用品-杯子', '个', '350.00', '1750.00', '2', '1', '2016-02-04 11:40:20', null, null, '14');
INSERT INTO `smbms_bill` VALUES ('10', 'BILL2016_010', '豆瓣酱', '食品-调料', '瓶', '200.00', '2000.00', '2', '1', '2013-10-29 05:07:03', null, null, '8');
INSERT INTO `smbms_bill` VALUES ('11', 'BILL2016_011', '海之蓝', '饮料-国酒', '瓶', '50.00', '10000.00', '1', '1', '2016-04-14 16:16:00', null, null, '1');
INSERT INTO `smbms_bill` VALUES ('12', 'BILL2016_012', '芝华士', '饮料-洋酒', '瓶', '20.00', '6000.00', '1', '1', '2016-09-09 17:00:00', null, null, '1');
INSERT INTO `smbms_bill` VALUES ('13', 'BILL2016_013', '长城红葡萄酒', '饮料-红酒', '瓶', '60.00', '800.00', '2', '1', '2016-11-14 15:23:00', null, null, '1');
INSERT INTO `smbms_bill` VALUES ('14', 'BILL2016_014', '泰国香米', '食品-大米', '斤', '400.00', '5000.00', '2', '1', '2016-10-09 15:20:00', null, null, '3');
INSERT INTO `smbms_bill` VALUES ('15', 'BILL2016_015', '东北大米', '食品-大米', '斤', '600.00', '4000.00', '2', '1', '2016-11-14 14:00:00', null, null, '3');
INSERT INTO `smbms_bill` VALUES ('16', 'BILL2016_016', '可口可乐', '饮料', '瓶', '2000.00', '6000.00', '2', '1', '2012-03-27 13:03:01', null, null, '2');
INSERT INTO `smbms_bill` VALUES ('17', 'BILL2016_017', '脉动', '饮料', '瓶', '1500.00', '4500.00', '2', '1', '2016-05-10 12:00:00', null, null, '2');

-- ----------------------------
-- Table structure for smbms_provider
-- ----------------------------
DROP TABLE IF EXISTS `smbms_provider`;
CREATE TABLE `smbms_provider` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `proCode` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商编码',
  `proName` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商名称',
  `proDesc` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商详细描述',
  `proContact` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '供应商联系人',
  `proPhone` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '联系电话',
  `proAddress` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',
  `proFax` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '传真',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of smbms_provider
-- ----------------------------
INSERT INTO `smbms_provider` VALUES ('1', 'BJ_GYS001', '北京三木堂商贸有限公司', '长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等', '张国强', '13566669999', '北京市丰台区育芳园北路', '010-58858787', '1', '2013-03-21 16:52:07', '2019-04-12 16:44:03', '10');
INSERT INTO `smbms_provider` VALUES ('2', 'HB_GYS001', '石家庄帅益食品贸易有限公司', '长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等', '王军', '13309094212', '河北省石家庄新华区', '0311-67738876', '1', '2016-04-13 04:20:40', null, null);
INSERT INTO `smbms_provider` VALUES ('3', 'GZ_GYS001', '深圳市泰香米业有限公司', '初次合作伙伴,主营产品:良记金轮米,龙轮香米等', '郑程瀚', '13402013312', '广东省深圳市福田区深南大道6006华丰大厦', '0755-67776212', '1', '2014-03-21 16:56:07', null, null);
INSERT INTO `smbms_provider` VALUES ('4', 'GZ_GYS002', '深圳市喜来客商贸有限公司', '长期合作伙伴,主营产品:坚果炒货.果脯蜜饯.天然花茶.营养豆豆.特色美食.进口食品.海味零食.肉脯肉', '林妮', '18599897645', '广东省深圳市福龙工业区B2栋3楼西', '0755-67772341', '1', '2013-03-22 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('5', 'JS_GYS001', '兴化佳美调味品厂', '长期合作伙伴,主营产品:天然香辛料、鸡精、复合调味料', '徐国洋', '13754444221', '江苏省兴化市林湖工业区', '0523-21299098', '1', '2015-11-22 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('6', 'BJ_GYS002', '北京纳福尔食用油有限公司', '长期合作伙伴,主营产品:山茶油、大豆油、花生油、橄榄油等', '马莺', '13422235678', '北京市朝阳区珠江帝景1号楼', '010-588634233', '1', '2012-03-21 17:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('7', 'BJ_GYS003', '北京国粮食用油有限公司', '初次合作伙伴,主营产品:花生油、大豆油、小磨油等', '王驰', '13344441135', '北京大兴青云店开发区', '010-588134111', '1', '2016-04-13 00:00:00', null, null);
INSERT INTO `smbms_provider` VALUES ('8', 'ZJ_GYS001', '慈溪市广和绿色食品厂', '长期合作伙伴,主营产品:豆瓣酱、黄豆酱、甜面酱,辣椒,大蒜等农产品', '薛圣丹', '18099953223', '浙江省宁波市慈溪周巷小安村', '0574-34449090', '1', '2013-11-21 06:02:07', null, null);
INSERT INTO `smbms_provider` VALUES ('9', 'GX_GYS001', '优百商贸有限公司', '长期合作伙伴,主营产品:日化产品', '李立国', '13323566543', '广西南宁市秀厢大道42-1号', '0771-98861134', '1', '2013-03-21 19:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('10', 'JS_GYS002', '南京火头军信息技术有限公司', '长期合作伙伴,主营产品:不锈钢厨具等', '陈女士', '13098992113', '江苏省南京市浦口区浦口大道1号新城总部大厦A座903室', '025-86223345', '1', '2013-03-25 16:52:07', null, null);
INSERT INTO `smbms_provider` VALUES ('11', 'GZ_GYS003', '广州市白云区美星五金制品厂', '长期合作伙伴,主营产品:海绵床垫、坐垫、靠垫、海绵枕头、头枕等', '梁天', '13562276775', '广州市白云区钟落潭镇福龙路20号', '020-85542231', '1', '2016-12-21 06:12:17', null, null);
INSERT INTO `smbms_provider` VALUES ('12', 'BJ_GYS004', '北京隆盛日化科技', '长期合作伙伴,主营产品:日化环保清洗剂,家居洗涤专卖、洗涤用品网、墙体除霉剂、墙面霉菌清除剂等', '孙欣', '13689865678', '北京市大兴区旧宫', '010-35576786', '1', '2014-11-21 12:51:11', null, null);
INSERT INTO `smbms_provider` VALUES ('13', 'SD_GYS001', '山东豪克华光联合发展有限公司', '长期合作伙伴,主营产品:洗衣皂、洗衣粉、洗衣液、洗洁精、消杀类、香皂等', '吴洪转', '13245468787', '山东济阳济北工业区仁和街21号', '0531-53362445', '1', '2015-01-28 10:52:07', null, null);

-- ----------------------------
-- Table structure for smbms_role
-- ----------------------------
DROP TABLE IF EXISTS `smbms_role`;
CREATE TABLE `smbms_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `roleCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色编码',
  `roleName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '角色名称',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '修改者',
  `modifyDate` datetime DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of smbms_role
-- ----------------------------
INSERT INTO `smbms_role` VALUES ('1', 'SMBMS_ADMIN', '系统管理员', '1', '2016-04-13 00:00:00', null, null);
INSERT INTO `smbms_role` VALUES ('2', 'SMBMS_MANAGER', '经理', '1', '2016-04-13 00:00:00', null, null);
INSERT INTO `smbms_role` VALUES ('3', 'SMBMS_EMPLOYEE', '普通员工', '1', '2016-04-13 00:00:00', null, null);

-- ----------------------------
-- Table structure for smbms_user
-- ----------------------------
DROP TABLE IF EXISTS `smbms_user`;
CREATE TABLE `smbms_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `userCode` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户编码',
  `userName` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户名称',
  `userPassword` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '用户密码',
  `gender` int(10) DEFAULT NULL COMMENT '性别(1:女、 2:男)',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '手机',
  `address` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT '地址',
  `userRole` int(10) DEFAULT NULL COMMENT '用户角色(取自角色表-角色id)',
  `createdBy` bigint(20) DEFAULT NULL COMMENT '创建者(userId)',
  `creationDate` datetime DEFAULT NULL COMMENT '创建时间',
  `modifyBy` bigint(20) DEFAULT NULL COMMENT '更新者(userId)',
  `modifyDate` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of smbms_user
-- ----------------------------
INSERT INTO `smbms_user` VALUES ('1', 'wen', '系统管理员', '123', '1', '1997-01-01', '15200981234', '湖南省衡阳市蒸湘区南华大学', '1', '1', '2019-04-07 10:15:55', null, null);
INSERT INTO `smbms_user` VALUES ('5', 'hanlubiao', '韩路彪', '0000000', '2', '1984-06-05', '18567542321', '北京市朝阳区北辰中心12号', '2', '1', '2014-12-31 19:52:09', null, null);
INSERT INTO `smbms_user` VALUES ('6', 'zhanghua', '张华', '0000000', '1', '1983-06-15', '13544561111', '北京市海淀区学院路61号', '3', '1', '2013-02-11 10:51:17', null, null);
INSERT INTO `smbms_user` VALUES ('7', 'wangyang', '王洋', '0000000', '2', '1982-12-31', '13444561124', '北京市海淀区西二旗辉煌国际16层', '3', '1', '2014-06-11 19:09:07', null, null);
INSERT INTO `smbms_user` VALUES ('8', 'zhaoyan', '赵燕', '0000000', '1', '1986-03-07', '18098764545', '北京市海淀区回龙观小区10号楼', '3', '1', '2016-04-21 13:54:07', null, null);
INSERT INTO `smbms_user` VALUES ('10', 'sunlei', '孙磊', '0000000', '2', '1981-01-04', '13387676765', '北京市朝阳区管庄新月小区12楼', '3', '1', '2015-05-06 10:52:07', null, null);
INSERT INTO `smbms_user` VALUES ('11', 'sunxing', '孙兴', '0000000', '2', '1978-03-12', '13367890900', '北京市朝阳区建国门南大街10号', '3', '1', '2016-11-09 16:51:17', null, null);
INSERT INTO `smbms_user` VALUES ('12', 'zhangchen', '张晨', '0000000', '1', '1986-03-28', '18098765434', '朝阳区管庄路口北柏林爱乐三期13号楼', '3', '1', '2016-08-09 05:52:37', '1', '2016-04-14 14:15:36');
INSERT INTO `smbms_user` VALUES ('13', 'dengchao', '邓超', '0000000', '2', '1981-11-04', '13689674534', '北京市海淀区北航家属院10号楼', '3', '1', '2016-07-11 08:02:47', null, null);
INSERT INTO `smbms_user` VALUES ('14', 'yangguo', '杨过', '0000000', '2', '1980-01-01', '13388886623', '北京市朝阳区北苑家园茉莉园20号楼', '3', '1', '2015-02-01 03:52:07', null, null);
INSERT INTO `smbms_user` VALUES ('15', 'test', 'test', '111', '1', '2019-04-16', '123456789', '南华大学', '1', '1', '2019-04-16 19:52:37', null, null);
6、创建项目结构

在这里插入图片描述

7、编写实体类
  1. 用户类

    package com.smbms.pojo;
    
    import java.util.Date;
    
    public class User {
        private Integer id;//自增ID
        private String userCode;//用户编码
        private String userName;//用户名称
        private String userPassword;//用户密码
        private Integer gender;//性别
        private Date birthday;//出生日期
        private String phone;//电话
        private String address;//地址
        private Integer userRole;//用户名称
        private Integer createdBy;//创建者
        private Date creationDate;//创建时间
        private Integer modifyBy;//更新这
        private Date modifyDate;//更新时间
        private Integer age;//年龄
        private String userRoleName;//用户角色名称
    
        public Integer getAge() {
            Date date=new Date();
            Integer age=date.getYear()-birthday.getYear();
            return age;
        }
    
        public Integer getId() {return id;}
        public void setId(Integer id) {this.id = id;}
        public String getUserCode() { return userCode;}
        public void setUserCode(String userCode) {this.userCode = userCode;}
        public String getUserName() {return userName;}
        public void setUserName(String userName) {this.userName = userName;}
        public String getUserPassword() {return userPassword;}
        public void setUserPassword(String userPassword) {this.userPassword = userPassword;}
        public Integer getGender() {return gender;}
        public void setGender(Integer gender) {this.gender = gender;}
        public Date getBirthday() {return birthday;}
        public void setBirthday(Date birthday) {this.birthday = birthday;}
        public String getPhone() {return phone;}
        public void setPhone(String phone) {this.phone = phone;}
        public String getAddress() {return address;}
        public void setAddress(String address) {this.address = address;}
        public Integer getUserRole() {return userRole;}
        public void setUserRole(Integer userRole) {this.userRole = userRole;}
        public Integer getCreatedBy() {return createdBy;}
        public void setCreatedBy(Integer createdBy) {this.createdBy = createdBy;}
        public Date getCreationDate() {return creationDate;}
        public void setCreationDate(Date creationDate) {this.creationDate = creationDate;}
        public Integer getModifyBy() {return modifyBy;}
        public void setModifyBy(Integer modifyBy) {this.modifyBy = modifyBy;}
        public Date getModifyDate() {return modifyDate;}
        public void setModifyDate(Date modifyDate) {this.modifyDate = modifyDate;}
        public String getUserRoleName() {return userRoleName;}
        public void setUserRoleName(String userRoleName) {this.userRoleName = userRoleName;}
    }
    
  2. 权限类

    package com.smbms.pojo;
    
    import java.util.Date;
    
    public class Role {
        private Integer id; //Id
        private String roleCode;//角色编码
        private String roleName;//角色名称
        private Integer createdBy;//创建者
        private Date creationDate;//创建时间
        private Integer modifyBy;//更新者
        private Date modifyDate;//更新时间
    
        public Integer getId() {return id;}
        public void setId(Integer id) {this.id = id;}
        public String getRoleCode() {return roleCode;}
        public void setRoleCode(String roleCode) {this.roleCode = roleCode;}
        public String getRoleName() {return roleName;}
        public void setRoleName(String roleName) {this.roleName = roleName;}
        public Integer getCreatedBy() { return createdBy;}
        public void setCreatedBy(Integer createdBy) {this.createdBy = createdBy;}
        public Date getCreationDate() { return creationDate;}
        public void setCreationDate(Date creationDate) { this.creationDate = creationDate; }
        public Integer getModifyBy() {return modifyBy;}
        public void setModifyBy(Integer modifyBy) {this.modifyBy = modifyBy;}
        public Date getModifyDate() { return modifyDate;}
        public void setModifyDate(Date modifyDate) {this.modifyDate = modifyDate;}
    }
    
  3. 供应商类

    package com.smbms.pojo;
    
    import java.util.Date;
    
    public class Provider {
        private Integer id;//id
        private Integer proCode;//供应商编码
        private Integer proName;//供应商名称
        private Integer proDesc;//供应商描述
        private Integer proContact;//供应商联系人
        private Integer proPhone;//供应商电话
        private Integer proAddress;//供应商地址
        private Integer proFax;//供应商传真
        private Integer createdBy;//创建者
        private Date creationDate;//创建者时间
        private Integer modifyBy;//更新者
        private Date modifyDate;//更新者时间
    
        public Integer getId() {return id;}
        public void setId(Integer id) {this.id = id;}
        public Integer getProCode() {return proCode;}
        public void setProCode(Integer proCode) { this.proCode = proCode; }
        public Integer getProName() {return proName;}
        public void setProName(Integer proName) { this.proName = proName;}
        public Integer getProDesc() {return proDesc;}
        public void setProDesc(Integer proDesc) {this.proDesc = proDesc;}
        public Integer getProContact() { return proContact;}
        public void setProContact(Integer proContact) { this.proContact = proContact; }
        public Integer getProPhone() {return proPhone;}
        public void setProPhone(Integer proPhone) { this.proPhone = proPhone;}
        public Integer getProAddress() {return proAddress;}
        public void setProAddress(Integer proAddress) { this.proAddress = proAddress; }
        public Integer getProFax() {    return proFax;}
        public void setProFax(Integer proFax) {this.proFax = proFax;}
        public Integer getCreatedBy() {return createdBy;}
        public void setCreatedBy(Integer createdBy) { this.createdBy = createdBy;}
        public Date getCreationDate() {  return creationDate;}
        public void setCreationDate(Date creationDate) {   this.creationDate = creationDate;}
        public Integer getModifyBy() {   return modifyBy;}
        public void setModifyBy(Integer modifyBy) { this.modifyBy = modifyBy;}
        public Date getModifyDate() { return modifyDate;}
        public void setModifyDate(Date modifyDate) {this.modifyDate = modifyDate;}
    }
    
  4. 订单类

    package com.smbms.pojo;
    
    import java.math.BigDecimal;
    import java.util.Date;
    
    public class Bill {
        private Integer id;//id
        private String billCode;//账单编号
        private String productName;//商品名称
        private String productDesc;//商品描述
        private String productUnit;//商品单位
        private BigDecimal productCount;//商品数量
        private BigDecimal totalPrice;//总金额
        private Integer isPayment;//是否支付
        private Integer createdBy;//创建者
        private Date creationDate;//创建者时间
        private Integer modifyBy;//更新者
        private Date modifyDate;//更新者时间
        private Integer providerId;//供应商ID
        private  String providerName;//供应商名称
    
        public Integer getId() {return id;}
        public void setId(Integer id) {this.id = id;}
        public String getBillCode() {return billCode;}
        public void setBillCode(String billCode) { this.billCode = billCode;}
        public String getProductName() { return productName;}
        public void setProductName(String productName) { this.productName = productName;}
        public String getProductDesc() { return productDesc;}
        public void setProductDesc(String productDesc) { this.productDesc = productDesc;}
        public String getProductUnit() { return productUnit;}
        public void setProductUnit(String productUnit) {this.productUnit = productUnit;}
        public BigDecimal getProductCount() { return productCount; }
        public void setProductCount(BigDecimal productCount) { this.productCount = productCount;}
        public BigDecimal getTotalPrice() { return totalPrice;}
        public void setTotalPrice(BigDecimal totalPrice) {this.totalPrice = totalPrice;}
        public Integer getIsPayment() {  return isPayment; }
        public void setIsPayment(Integer isPayment) {this.isPayment = isPayment; }
        public Integer getCreatedBy() {return createdBy;}
        public void setCreatedBy(Integer createdBy) {  this.createdBy = createdBy;}
        public Date getCreationDate() { return creationDate;}
        public void setCreationDate(Date creationDate) { this.creationDate = creationDate;}
        public Integer getModifyBy() { return modifyBy;}
        public void setModifyBy(Integer modifyBy) { this.modifyBy = modifyBy;}
        public Date getModifyDate() { return modifyDate;}
        public void setModifyDate(Date modifyDate) { this.modifyDate = modifyDate;}
        public Integer getProviderId() {  return providerId; }
        public void setProviderId(Integer providerId) {  this.providerId = providerId;}
        public String getProviderName() { return providerName;}
        public void setProviderName(String providerName) { this.providerName = providerName; }
    }
    

8、编写基础公共类

  1. 数据库连接配置文件,在resources文件夹下增加db.properties并添加下方信息

    driver=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/smbss?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    username=root
    password=123456
    
  2. 编写数据库公共类

    package com.smbms.dao;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.*;
    import java.util.Properties;
    
    //操作数据库的公共类
    public class BaseDao {
        private static String driver;
        private static String url;
        private static String username;
        private static  String password;
    
        //静态代码块,类加载的时候就初始化了
        static {
            Properties properties = new Properties();
            InputStream inputStream = BaseDao.class.getClassLoader().getResourceAsStream("db.properties");
            try {
                properties.load(inputStream);
            }catch (IOException e)
            {
                e.printStackTrace();
            }
            driver=properties.getProperty("driver");
            url=properties.getProperty("url");
            username=properties.getProperty("username");
            password=properties.getProperty("password");
        }
    
        //获取数据库的连接
        public  static Connection getConnection(){
            Connection connection=null;
            try {
                Class.forName(driver);
                connection = DriverManager.getConnection(url, username, password);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
            return connection;
        }
        //编写查询公共类
        public static ResultSet execute(Connection connection,String sql,Object[] params,ResultSet resultSet,PreparedStatement preparedStatement) throws SQLException {
            preparedStatement = connection.prepareStatement(sql);
            for (int i =0;i<params.length;i++){
                //setObject, 占位符从1开始,但是数组是从0开始的
                preparedStatement.setObject(i+1,params[i]);
            }
            resultSet = preparedStatement.executeQuery();
            return  resultSet;
        }
        //编写增删改公共方法
        public static int execute(Connection connection,String sql,Object[] params,PreparedStatement preparedStatement) throws SQLException {
            preparedStatement = connection.prepareStatement(sql);
            for (int i =0;i<params.length;i++){
                //setObject, 占位符从1开始,但是数组是从0开始的
                preparedStatement.setObject(i+1,params[i]);
            }
            int rows = preparedStatement.executeUpdate();
            return  rows;
        }
        //释放资源
        public  static  boolean closeResource(Connection connection,ResultSet resultSet,PreparedStatement preparedStatement){
            boolean flag=true;
            if(resultSet!=null){
                try {
                    resultSet.close();
                    resultSet=null;
                } catch (SQLException e) {
                    e.printStackTrace();
                    flag=false;
                }
            }
            if(preparedStatement!=null){
                try {
                    preparedStatement.close();
                    preparedStatement=null;
                } catch (SQLException e) {
                    e.printStackTrace();
                    flag=false;
                }
            }
            if(connection!=null){
                try {
                    connection.close();
                    connection=null;
                } catch (SQLException e) {
                    e.printStackTrace();
                    flag=false;
                }
            }
            return  flag;
        }
    }
    
  3. 编写编码过滤器,防止中文乱码

    1. 增加CharacterEncodingFilter 过滤器类

      package com.smbms.filter;
      
      import javax.servlet.*;
      import java.io.IOException;
      
      public class CharacterEncodingFilter implements Filter {
          @Override
          public void init(FilterConfig filterConfig) throws ServletException {
          }
      
          @Override
          public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
              servletRequest.setCharacterEncoding("utf-8");
              servletResponse.setCharacterEncoding("utf-8");
              filterChain.doFilter(servletRequest,servletResponse);
          }
      
          @Override
          public void destroy() {
          }
      }
      
    2. web.xml 中添加过滤器注册

      <!--字符编码过滤器-->
      <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>com.smbms.filter.CharacterEncodingFilter</filter-class>
      </filter>
      <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
8、导入静态资源

静态资源获取地址:https://gitee.com/fight05/smbms-static-resource
在这里插入图片描述
在这里插入图片描述

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SMBMS数据库代码是指《超市管理系统》的数据库代码,该代码主要用于实现超市的管理功能,包括商品信息管理、供应商管理、用户管理、订单管理和库存管理等。 首先,我们需要创建相应的数据库和数据表。数据库中包含商品信息表、供应商表、用户表和订单表等,每个表都有对应的字段,用于存储相关的信息。 其次,我们需要编写相应的代码来实现具体的功能。比如,对于商品信息管理,我们可以编写代码来实现商品的增加、删除、修改和查询等功能。对于供应商管理,我们可以编写代码来实现供应商的添加、删除、修改和查询等功能。对于用户管理,我们可以编写代码来实现用户的注册、登录、修改密码和权限管理等功能。对于订单管理,我们可以编写代码来实现订单的添加、删除、修改和查询等功能。对于库存管理,我们可以编写代码来实现库存的更新、查询和报警等功能。 最后,我们需要将代码与数据库连接起来,即通过数据库操作的相关函数来实现数据的读取和更新等。同时,我们还需要考虑数据的安全性和完整性,比如通过加密算法对用户密码进行加密存储,以保护用户信息的安全。 综上所述,SMBMS数据库代码是超市管理系统的数据库代码,通过编写相应的代码和实现数据库的连接,可以实现超市的管理功能,包括商品信息管理、供应商管理、用户管理、订单管理和库存管理等。这些功能可以帮助超市提高管理效率、提升服务质量,从而更好地满足客户的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fight。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值