本项目为前几天收费帮学妹做的一个项目,Java swing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。
优快云9.9赞助下载: https://download.youkuaiyun.com/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.youkuaiyun.com/
* @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, String name, String account, String password) {
super();
this.id = id;
this.name = name;
this.account = account;
this.password = password;
}
@Override
public String toString() {
return "Admin [id=" + id + ", name=" + name + ", account=" + account + ", password=" + password + "]";
}
}
② Feeinfo(收费信息类)
package com.ynavc.Bean;
import java.io.Serializable;
/**
* @description feeinfo
* @author ymjin.blog.youkuaiyun.com/
* @date 2021-07-01
*/
public class Feeinfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 订单号
*/
private Integer id;
/**
* 户主id
*/
private Integer userid;
/**
* 用水类型
*/
private String watertype;
/**
* 水费单价
*/
private String water;
/**
* 用水总量
*/
private String watersum;
/**
* 本月水费
*/
private String monthwater;
/**
* 用电类型
*/
private String electricitytype;
/**
* 电费单价
*/
private String electricity;
/**
* 用电总量
*/
private String electricitysum;
/**
* 本月电费
*/
private String monthelectricity;
/**
* 年份
*/
private String years;
/**
* 月份
*/
private String month;
/**
* 总费用
*/
private String cost;
/**
* 收费时间
*/
private String costime;
/**
* 操作员
*/
private String adminid;
/**
* 备注
*/
private String note;
public Feeinfo() {}
public Feeinfo(Integer id, Integer userid, String watertype, String water, String watersum, String monthwater,
String electricitytype, String electricity, String electricitysum, String monthelectricity, String years,
String month, String cost, String costime, String adminid, String note) {
super();
this.id = id;
this.userid = userid;
this.watertype = watertype;
this.water = water;
this.watersum = watersum;
this.monthwater = monthwater;
this.electricitytype = electricitytype;
this.electricity = electricity;
this.electricitysum = electricitysum;
this.monthelectricity = monthelectricity;
this.years = years;
this.month = month;
this.cost = cost;
this.costime = costime;
this.adminid = adminid;
this.note = note;
}
@Override
public String toString() {
return "Feeinfo [id=" + id + ", userid=" + userid + ", watertype=" + watertype + ", water=" + water
+ ", watersum=" + watersum + ", monthwater=" + monthwater + ", electricitytype=" + electricitytype
+ ", electricity=" + electricity + ", electricitysum=" + electricitysum + ", monthelectricity="
+ monthelectricity + ", years=" + years + ", month=" + month + ", cost=" + cost + ", costime=" + costime
+ ", adminid=" + adminid + ", note=" + note + "]";
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUserid() {
return userid;
}
public void setUserid(Integer userid) {
this.userid = userid;
}
public String getWatertype() {
return watertype;
}
public void setWatertype(String watertype) {
this.watertype = watertype;
}
public String getWater() {
return water;
}
public void setWater(String water) {
this.water = water;
}
public String getWatersum() {
return watersum;
}
public void setWatersum(String watersum) {
this.watersum = watersum;
}
public String getMonthwater() {
return monthwater;
}
public void setMonthwater(String monthwater) {
this.monthwater = monthwater;
}
public String getElectricitytype() {
return electricitytype;
}
public void setElectricitytype(String electricitytype) {
this.electricitytype = electricitytype;
}
public String getElectricity() {
return electricity;
}
public void setElectricity(String electricity) {
this.electricity = electricity;
}
public String getElectricitysum() {
return electricitysum;
}
public void setElectricitysum(String electricitysum) {
this.electricitysum = electricitysum;
}
public String getMonthelectricity() {
return monthelectricity;
}
public void setMonthelectricity(String monthelectricity) {
this.monthel
Java Swing水电费管理系统实现

一个基于Java Swing、MySQL和Eclipse的水电费管理系统,包括用户登录、查询、增删改查功能。管理员可管理用户信息和水电费,支持数据导出。项目分为数据库设计、实体类、控制器、数据库操作和视图界面等模块。
最低0.47元/天 解锁文章
729





