本项目为前几天收费帮学妹做的一个项目,Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。
CSDN9.9赞助下载: https://download.csdn.net/download//50635859
一、效果演示
主要功能:
普通用户:
- 用户用水用电查询(根据时间查询、导出Excel)
管理员用户:
- 用户信息管理 >> 平台用户信息查询(修改信息、新增用户、删除用户、根据编号查询)
- 水电费管理 >> 用户水电费查询 (修改信息、新增用户、删除用户、根据日期查询、根据户主编号查询、导出数据到Excel)
- 管理员账户管理 >> 管理后台(管理员添加、删除、修改、编号账户查询)
1、用户登录
2、“普通用户” 主界面
2.1 用户水电费查询
3、“管理员用户” 界面
3.1 用户信息管理
3.2 水电费管理
3.3 管理员账户管理
4、导出功能
二、核心代码
(1)数据库【utilitiessys】:
① admin(管理员表)
-- ----------------------------
-- Table structure for admin
-- ----------------------------
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`id` int(30) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
`account` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '账户',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of admin
-- ----------------------------
INSERT INTO `admin` VALUES (1, '杨明金', 'ymj', '123456');
INSERT INTO `admin` VALUES (2, '肖波', 'xb', '123123');
② feeinfo(收费信息表)
-- ----------------------------
-- Table structure for feeinfo
-- ----------------------------
DROP TABLE IF EXISTS `feeinfo`;
CREATE TABLE `feeinfo` (
`id` int(30) NOT NULL AUTO_INCREMENT COMMENT '订单号',
`userid` int(30) NULL DEFAULT NULL COMMENT '户主id',
`watertype` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用水类型',
`water` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '水费单价',
`watersum` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用水总量',
`monthwater` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '本月水费',
`electricitytype` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用电类型',
`electricity` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电费单价',
`electricitysum` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用电总量',
`monthelectricity` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '本月电费',
`years` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '年份',
`month` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '月份',
`cost` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '总费用',
`costime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '收费时间',
`adminid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作员',
`note` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 41 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of feeinfo
-- ----------------------------
INSERT INTO `feeinfo` VALUES (1, 1, '商业用电', '20', '50', '200', '商业用电', '30', '500', '200', '2021年', '3月', '300', '4000', '杨明金', '备注');
INSERT INTO `feeinfo` VALUES (2, 1, '家庭用电', '20', '50', '200', '家庭用电', '20', '20', '20', '2021年', '5月', '300', '2000', 'mj', '背后');
INSERT INTO `feeinfo` VALUES (3, 3, '居民家庭用水', '20', '50', '200', '一般工商业用电', '30', '500', '200', '2021年', '3月', '300', '4000', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (4, 4, '城市居民家庭用水', '20', '50', '200', '一般工商业用电', '20', '20', '20', '2021年', '5月', '300', '2000', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (5, 5, '农民家庭用水', '21', '51', '201', '家庭用电', '21', '21', '21', '2021年', '6月', '301', '2001', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (6, 6, '公共供水站用水', '22', '52', '202', '一般工商业用电', '22', '22', '22', '2019年', '7月', '302', '2002', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (7, 7, '公共服务用水', '23', '53', '203', '居民生活用电', '23', '23', '23', '2021年', '8月', '303', '2003', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (8, 8, '公共设施服务用水', '24', '54', '204', '大工业用电', '24', '24', '24', '2019年', '9月', '304', '2004', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (9, 9, '社会服务业用水', '25', '55', '205', '一般工商业用电', '25', '25', '25', '2021年', '10月', '305', '2005', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (10, 10, '批发和零售贸易业用水', '26', '56', '206', '一般工商业用电', '26', '26', '26', '2019年', '11月', '306', '2006', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (11, 11, '餐饮业、旅馆业用水', '27', '57', '207', '居民生活用电', '27', '27', '27', '2019年', '12月', '307', '2007', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (12, 12, '卫生事业用水', '28', '58', '208', '大工业用电', '28', '28', '28', '2021年', '3月', '308', '2008', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (13, 13, '文娱体育事业、文艺广电业用水', '29', '59', '209', '居民生活用电', '29', '29', '29', '2019年', '5月', '309', '2009', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (14, 14, '教育事业用水', '30', '60', '210', '大工业用电', '30', '30', '30', '2021年', '5月', '310', '2010', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (15, 15, '科学研究和综合技术服务业用水', '31', '61', '211', '大工业用电', '31', '31', '31', '2021年', '6月', '311', '2011', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (16, 16, '社会福利保障业用水', '32', '62', '212', '大工业用电', '32', '32', '32', '2019年', '5月', '312', '2012', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (17, 17, '金融、保险、房地产业用水', '33', '63', '213', '商业用电', '33', '33', '33', '2021年', '8月', '313', '2013', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (18, 18, '机关、企事业管理机构和社会团体用水', '34', '64', '214', '居民生活用电', '34', '34', '34', '2021年', '9月', '314', '2014', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (19, 19, '其他公共服务用水', '35', '65', '215', '居民生活用电', '35', '35', '35', '2021年', '5月', '315', '2015', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (20, 20, '生产运营用水', '36', '66', '216', '商业用电', '36', '36', '36', '2019年', '2月', '316', '2016', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (21, 21, '农、林、牧、渔业用水', '37', '67', '217', '农业生产用电', '37', '37', '37', '2021年', '5月', '317', '2017', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (22, 22, '采掘业用水', '38', '68', '218', '农业生产用电', '38', '38', '38', '2021年', '12月', '318', '2018', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (23, 23, '家庭用电', '39', '69', '219', '农业生产用电', '39', '39', '39', '2021年', '12月', '319', '2019', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (24, 24, '家庭用电', '40', '70', '220', '居民生活用电', '40', '40', '40', '2021年', '5月', '320', '2020', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (25, 25, '家庭用电', '41', '71', '221', '农业生产用电', '41', '41', '41', '2021年', '1月', '321', '2021', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (26, 26, '家庭用电', '42', '72', '222', '农业生产用电', '42', '42', '42', '2021年', '2月', '322', '2022', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (27, 27, '家庭用电', '43', '73', '223', '居民生活用电', '43', '43', '43', '2021年', '5月', '323', '2023', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (28, 1, '居民家庭用水', '20', '50', '200', '一般工商业用电', '30', '500', '200', '2021年', '3月', '300', '4000', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (29, 1, '城市居民家庭用水', '20', '50', '200', '一般工商业用电', '20', '20', '20', '2021年', '5月', '300', '2000', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (30, 1, '农民家庭用水', '21', '51', '201', '家庭用电', '21', '21', '21', '2021年', '6月', '301', '2001', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (31, 1, '公共供水站用水', '22', '52', '202', '一般工商业用电', '22', '22', '22', '2019年', '7月', '302', '2002', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (32, 1, '公共服务用水', '23', '53', '203', '居民生活用电', '23', '23', '23', '2021年', '8月', '303', '2003', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (33, 1, '公共设施服务用水', '24', '54', '204', '大工业用电', '24', '24', '24', '2019年', '9月', '304', '2004', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (34, 1, '社会服务业用水', '25', '55', '205', '一般工商业用电', '25', '25', '25', '2021年', '10月', '305', '2005', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (35, 1, '批发和零售贸易业用水', '26', '56', '206', '一般工商业用电', '26', '26', '26', '2019年', '11月', '306', '2006', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (36, 1, '餐饮业、旅馆业用水', '27', '57', '207', '居民生活用电', '27', '27', '27', '2019年', '12月', '307', '2007', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (37, 1, '卫生事业用水', '28', '58', '208', '大工业用电', '28', '28', '28', '2021年', '3月', '308', '2008', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (39, 1, '教育事业用水', '30', '60', '210', '大工业用电', '30', '30', '30', '2021年', '5月', '310', '2010', '杨明金', '已缴纳');
INSERT INTO `feeinfo` VALUES (40, 1, '科学研究和综合技术服务业用水', '31', '61', '211', '大工业用电', '31', '31', '31', '2021年', '6月', '311', '2011', '杨明金', '已缴纳');
③ users(用户表)
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int(30) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '户主姓名',
`account` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '账户',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '密码',
`sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '性别',
`idcard` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证号码',
`phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话号码',
`address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '居住地址',
`usertime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of users
-- ----------------------------
INSERT INTO `users` VALUES (1, '杨明金', 'ymj', '123456', '女', '5323456', '1886454551', '云南昆明22', '22');
INSERT INTO `users` VALUES (2, '李华', 'lh', '123123', '女', '5653464', '656564555', '河北', '200');
INSERT INTO `users` VALUES (3, '董志豪', 'dzh', '123456', '男', '532123200103060023', '18214211253', '云南省昆明市五华区茭菱路128号', '20210701');
INSERT INTO `users` VALUES (4, '曾跃', 'cy', '123456', '女', '532123200103060023', '18214211254', '云南省昆明市五华区茭菱路129号', '20210702');
INSERT INTO `users` VALUES (5, '崔任松', 'crs', '123456', '男', '532123200103060023', '18214211255', '云南省昆明市五华区茭菱路130号', '20210703');
INSERT INTO `users` VALUES (6, '赵驰', 'zc', '123456', '女', '532123200103060023', '18214211256', '云南省昆明市五华区茭菱路131号', '20210704');
INSERT INTO `users` VALUES (7, '余靖', 'yj', '123456', '男', '532123200103060023', '18214211257', '云南省昆明市五华区茭菱路132号', '20210705');
INSERT INTO `users` VALUES (8, '李银娇', 'lyj', '123456', '男', '532123200103060023', '18214211258', '云南省昆明市五华区茭菱路133号', '20210706');
INSERT INTO `users` VALUES (9, '杨志兴', 'yzx', '123456', '男', '532123200103060023', '18214211259', '云南省昆明市五华区茭菱路134号', '20210707');
INSERT INTO `users` VALUES (10, '许应烨', 'xyy', '123456', '女', '532123200103060023', '18214211260', '云南省昆明市五华区茭菱路135号', '20210708');
INSERT INTO `users` VALUES (11, '何鸿廷', 'hht', '123456', '男', '532123200103060023', '18214211261', '云南省昆明市五华区茭菱路136号', '20210709');
INSERT INTO `users` VALUES (12, '郭超', 'gc', '123456', '男', '532123200103060023', '18214211262', '云南省昆明市五华区茭菱路137号', '20210710');
INSERT INTO `users` VALUES (13, '夏明方', 'xmf', '123456', '男', '532123200103060023', '18214211263', '云南省昆明市五华区茭菱路138号', '20210711');
INSERT INTO `users` VALUES (14, '杜顺昌', 'dsc', '123456', '女', '532123200103060023', '18214211264', '云南省昆明市五华区茭菱路139号', '20210712');
INSERT INTO `users` VALUES (15, '杨雄美', 'yxm', '123456', '男', '532123200103060023', '18214211265', '云南省昆明市五华区茭菱路140号', '20210713');
INSERT INTO `users` VALUES (16, '杨金明', 'yjm', '123456', '男', '532123200103060023', '18214211266', '云南省昆明市五华区茭菱路141号', '20210714');
INSERT INTO `users` VALUES (17, '李骥', 'lj', '123456', '男', '532123200103060023', '18214211267', '云南省昆明市五华区茭菱路142号', '20210715');
INSERT INTO `users` VALUES (18, '严卓琳', 'yzl', '123456', '女', '532123200103060023', '18214211268', '云南省昆明市五华区茭菱路143号', '20210716');
INSERT INTO `users` VALUES (19, '宋廷虎', 'sth', '123456', '女', '532123200103060023', '18214211269', '云南省昆明市五华区茭菱路144号', '20210717');
INSERT INTO `users` VALUES (20, '马士颖', 'msy', '123456', '男', '532123200103060023', '18214211270', '云南省昆明市五华区茭菱路145号', '20210718');
INSERT INTO `users` VALUES (21, '陆振黎', 'lzl', '123456', '女', '532123200103060023', '18214211271', '云南省昆明市五华区茭菱路146号', '20210719');
INSERT INTO `users` VALUES (22, '何忠礼', 'hzl', '123456', '男', '532123200103060023', '18214211272', '云南省昆明市五华区茭菱路147号', '20210720');
INSERT INTO `users` VALUES (23, '毕猛', 'bm', '123456', '女', '532123200103060023', '18214211273', '云南省昆明市五华区茭菱路148号', '20210721');
INSERT INTO `users` VALUES (24, '李映权', 'lyq', '123456', '女', '532123200103060023', '18214211274', '云南省昆明市五华区茭菱路149号', '20210722');
INSERT INTO `users` VALUES (25, '王明炜', 'wmw', '123456', '男', '532123200103060023', '18214211275', '云南省昆明市五华区茭菱路150号', '20210723');
INSERT INTO `users` VALUES (26, '周子龙', 'zzl', '123456', '女', '532123200103060023', '18214211276', '云南省昆明市五华区茭菱路151号', '20210724');
INSERT INTO `users` VALUES (27, '方晨晓', 'fcx', '123456', '男', '532123200103060023', '18214211277', '云南省昆明市五华区茭菱路152号', '20210725');
(2)JAVA:
1、Bean包【存放实体包】
① Admin(管理员类)
package com.ynavc.Bean;
import java.io.Serializable;
/**
* @description admin
* @author ymjin.blog.csdn.net/
* @date 2021-07-01
*/
public class Admin implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 编号
*/
private Integer id;
/**
* 姓名
*/
private String name;
/**
* 账户
*/
private String account;
/**
* 密码
*/
private String password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public Admin() {}
public Admin(Integer id