Java+JavaFx+Mysql实现客户信息管理系统
目录
一、系统介绍
1.开发环境
2.技术选型
3.功能模块
4.数据库文件
5.工程结构
二、系统展示
1.注册账号
编辑
2.登录系统
3.查询客户
4.添加客户
5.修改客户
6.删除客户
三、部分代码
1.增加客户
2.删除客户
3.修改客户
4.修改密码
四、其他事宜
1.更多系统
Java+Swing系统系列实现
Java+JSP系统系列实现
Java+Servlet系统系列实现
Java+SSM系统系列实现
Java+SSH系统系列实现
Java+Springboot系统系列实现
2.源码下载
3.运行项目
4.权益备注
5.支持博主
一、系统介绍
1.开发环境
操作系统:Win10
开发工具 :IDEA2018
JDK版本:jdk1.8
数据库:Mysql8.0
2.技术选型
Java+JavaFx+Mysql
3.功能模块
4.数据库文件
/*
Navicat Premium Data Transfer
Source Server : MySQL
Source Server Type : MySQL
Source Server Version : 80013
Source Host : 127.0.0.1:3306
Source Schema : swing_cust_manager
Target Server Type : MySQL
Target Server Version : 80013
File Encoding : 65001
Date: 19/11/2024 21:18:44
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for cs_manager
-- ----------------------------
DROP TABLE IF EXISTS `cs_manager`;
CREATE TABLE `cs_manager` (
`mid` int(11) NOT NULL AUTO_INCREMENT COMMENT '客户编号',
`mname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户姓名',
`msex` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '客户性别',
`mage` int(11) NOT NULL COMMENT '客户年龄',
`mphone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '客户电话',
`mlevel` int(11) NULL DEFAULT 1 COMMENT '客户等级',
`maddr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '客户地址',
PRIMARY KEY (`mid`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1018 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cs_manager
-- ----------------------------
INSERT INTO `cs_manager` VALUES (1001, '李四', '男', 25, '17793311752', 1, '甘肃省');
INSERT INTO `cs_manager` VALUES (1002, '张三', '男', 22, '12125892563', 1, '河南省');
INSERT INTO `cs_manager` VALUES (1003, '王五', '女', 26, '15548966532', 1, '山西省');
INSERT INTO `cs_manager` VALUES (1004, '赵七', '男', 30, '13325699856', 1, '福建省');
-- ----------------------------
-- Table structure for cs_user
-- ----------------------------
DROP TABLE IF EXISTS `cs_user`;
CREATE TABLE `cs_user` (
`mname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`mname`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of cs_user
-- ----------------------------
INSERT INTO `cs_user` VALUES ('admin', 'e10adc3949ba59abbe56e057f20f883e');
SET FOREIGN_KEY_CHECKS = 1;
5.工程结构
二、系统展示
1.注册账号
2.登录系统
3.查询客户
4.添加客户
5.修改客户
6.删除客户
三、部分代码
1.增加客户
package com.sjsq.view;
import com.sjsq.dao.AchieveDao;
import com.sjsq.model.Manager;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
/**
* 作者:shuijianshiqing
* 功能:添加客户界面
*
*/
public class AddManagerView extends Application{
@Override
public void start(Stage arg0) throws Exception {}
//引入controller层
static AchieveDao actro = new AchieveDao();
public static void addManager(){
//搭建舞台
Stage stage = new Stage();
//设置网格面板
GridPane gp=new GridPane();
gp.setStyle("-fx-background-image: url("+"/com/sjsq/imgs/3.png"+")");
//设置label标签添加信息
Label l1=new Label("客户姓名");
Label l2=new Label("客户年龄");
Label l3=new Label("客户性别");
Label l4=new Label("客户电话");
Label l5=new Label("客户地址");
//设置按钮用来控制此界面的添加或者取消
Button b1=new Button("添加");
Button b2=new Button("取消");
//设置label对应的文本框区域
TextField v1=new TextField();
TextField v2=new TextField();
TextField v5=new TextField();
//TextField v6=new TextField();
//设置单选按钮
RadioButton v3=new RadioButton("男");
RadioButton v4=new RadioButton("女");
//将所有RadioButton对象都添加到了ToggleGroup中,使得组内同时只有一个Radio Button对象能被选中
ToggleGroup group =new ToggleGroup();
//设置 选择下拉框
ChoiceBox<String> cb=new ChoiceBox<String>();
List<String> list=Arrays.asList("甘肃省","陕西省","河南省","河北省","浙江省","山西省","安徽省","福建省");
//将单选按钮节点放在行面板中
HBox h1=new HBox(v3,v4);
//设置节点间水平间距
gp.setHgap(10);
//设置节点面板垂直间距
gp.setVgap(10);
//设置节点的对齐方式
gp.setAlignment(Pos.CENTER);
// TODO Auto-generated method stub
//将两个单选按钮放在同一个组中
v3.setToggleGroup(group);
v4.setToggleGroup(group);
//选择默认选中
v3.setSelected(true);
//选择框中加入list链表
cb.getItems().addAll(list);
//默认选中第一个数据局
cb.setValue(list.get(0));
stage.setTitle("客户增加");
gp.add(l1, 0, 0);
gp.add(v1, 1, 0);
gp.add(l2, 0, 1);
gp.add(v2, 1, 1);
gp.add(l3, 0, 2);
gp.add(h1, 1, 2);
gp.add(l4, 0, 3);
gp.add(v5, 1, 3);
gp.add(l5, 0, 4);
gp.add(cb, 1, 4);
gp.add(b1, 0, 6);
gp.add(b2, 1, 6);
stage.setScene(new Scene(gp,350,300));
stage.show();
//dao层调用方法实现添加功能
b1.setOnAction(a->{
String name=v1.getText();
String mage=v2.getText();
//String转为int
int age = Integer.parseInt(mage);
String sex="女";
if (v4.isSelected()) {
sex="男";
}
if(v5.getText().length()==11){
String phone = v5.getText();
String address=cb.getValue();
Manager manager = new Manager(name,sex,age,phone,address);
//调用dao层
int rows = AchieveDao.addManager(manager);
if (rows>0) {
Optional<ButtonType> op = new Alert(AlertType.INFORMATION,"添加成功",ButtonType.OK,ButtonType.CLOSE).showAndWait();
if (op.get()==ButtonType.OK) {
stage.close();
}
}else {
new Alert(AlertType.ERROR,"请重新增加").showAndWait();
}
}else{
new Alert(AlertType.ERROR,"电话长度不对").showAndWait();
}
});
//取消事件
b2.setOnAction(e->{
stage.close();
});
}
}
2.删除客户
package com.sjsq.view;
import com.sjsq.dao.AchieveDao;
import javafx.application.Application;
import javafx.stage.Stage;
/**
*
* 作者:shuijianshiqing
* 功能: 删除客户界面
*/
public class DeleteManagerView extends Application{
@Override
public void start(Stage arg0) throws Exception {}
//引入controller层
static AchieveDao actro = new AchieveDao();
public static boolean deleteManager(int mid){
if(actro.deleteManager(mid)){
return true;
}else {
return false;
}
}
}
3.修改客户
package com.sjsq.view;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import com.sjsq.model.Manager;
import com.sjsq.dao.AchieveDao;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.Label;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
/**
* 作者:shuijianshiqing
* 功能:修改客户信息界面
*/
public class UpdateManagerView extends Application{
@Override
public void start(Stage arg0) throws Exception {}
//调用dao层方法
static AchieveDao achieveDao = new AchieveDao();
public static void updateManager(Manager manager){
//搭建舞台
Stage stage = new Stage();
//设置网格面板
GridPane gp=new GridPane();
//设置了label信息
Label l1=new Label("客户姓名");
Label l2=new Label("客户年龄");
Label l3=new Label("客户性别");
Label l4=new Label("客户电话");
Label l5=new Label("客户地址");
Button b1=new Button("修改");
Button b2=new Button("取消");
//数据回显
TextField v1=new TextField(manager.getMname());
int age = manager.getMage();
//int转string
String mage = String.valueOf(age);
TextField v2=new TextField(mage);
TextField v5=new TextField(manager.getMphone());
//TextField v6=new TextField();
//设置单选按钮
RadioButton v3=new RadioButton("男");
RadioButton v4=new RadioButton("女");
ToggleGroup group =new ToggleGroup();
ChoiceBox<String> cb=new ChoiceBox<String>();
List<String> list=Arrays.asList("甘肃省","陕西省","河南省","河北省","浙江省","山西省","安徽省","福建省");
//将单选按钮节点放在行面板中
HBox h1=new HBox(v3,v4);
//设置节点间水平间距
gp.setHgap(10);
//设置节点面板垂直间距
gp.setVgap(10);
gp.setAlignment(Pos.CENTER);
//设置背景
gp.setStyle("-fx-background-image: url("+"/com/sjsq/imgs/3.png"+")");
// TODO Auto-generated method stub
//将两个单选按钮放在同一个组中
v3.setToggleGroup(group);
v4.setToggleGroup(group);
//选择框中加入list链表
cb.getItems().addAll(list);
cb.setValue(manager.getMaddr());
stage.setTitle("客户修改");
gp.add(l1, 0, 0);
gp.add(v1, 1, 0);
gp.add(l2, 0, 1);
gp.add(v2, 1, 1);
gp.add(l3, 0, 2);
gp.add(h1, 1, 2);
gp.add(l4, 0, 3);
gp.add(v5, 1, 3);
gp.add(l5, 0, 4);
gp.add(cb, 1, 4);
gp.add(b1, 0, 6);
gp.add(b2, 1, 6);
stage.setScene(new Scene(gp,350,300));
stage.show();
//dao层调用方法实现添加功能
b1.setOnAction(a->{
String name=v1.getText();
//mage=v2.getText();
String sex="男";
if (v4.isSelected()) {
sex="女";
}
String address=cb.getValue();
if(v5.getText().length()==11){
String phone = v5.getText();
// 这里使用包含6个参数的构造函数
Manager man = new Manager(manager.getMid(),name,sex,age,phone,address);
//调用dao层
int rows = achieveDao.updateManager(man);
if (rows>0) {
Optional<ButtonType> op = new Alert(AlertType.INFORMATION,"修改成功",ButtonType.OK,ButtonType.CLOSE).showAndWait();
if (op.get()==ButtonType.OK) {
stage.close();
}
}else {
new Alert(AlertType.ERROR,"请重新增加").showAndWait();
}
}else{
new Alert(AlertType.ERROR,"电话长度不对").showAndWait();
}
});
//取消事件
b2.setOnAction(e->{
stage.close();
});
}
}
4.修改密码
package com.sjsq.view;
import com.sjsq.dao.AchieveDao;
import com.sjsq.model.User;
import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.image.Image;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import java.util.Optional;
/**
* 作者:shuijianshiqing
* 功能:修改密码界面
*
*/
public class ModifyPasswordView extends Application{
@Override
public void start(Stage arg0) throws Exception {}
//实例化对象
static AchieveDao achieveDao = new AchieveDao();
/**
* 修改密码
* @param user
*/
public void modifypass(User user){
Stage stage = new Stage();
Label m_name = new Label("账号");
Label m_password = new Label("请输入密码");
Label m_apass = new Label("请确认密码");
//文本区域
TextField t_name = new TextField(user.getMname());
//禁止编辑用户名
t_name.setDisable(true);
//密码框区域
PasswordField p_password = new PasswordField();
PasswordField p_apass = new PasswordField();
//设置按钮
Button b1 = new Button("确认");
Button b2 = new Button("取消");
//网格布局
GridPane gr = new GridPane();
gr.setStyle("-fx-background-image: url("+"/com/sjsq/imgs/3.png"+")");
gr.add(m_name,0,0);
gr.add(t_name,1,0);
gr.add(m_password,0,1);
gr.add(p_password,1,1);
gr.add(m_apass,0,2);
gr.add(p_apass,1,2);
gr.add(b1,0,3);
gr.add(b2,2,3);
//全部居中
gr.setAlignment(Pos.CENTER);
//水平间距
gr.setHgap(2);
//垂直间距
gr.setVgap(15);
//设置按钮左边外边距
//GridPane.setMargin(b1,new Insets(0,0,0,120));
Scene s= new Scene(gr);
stage.setScene(s);
stage.setTitle("修改密码界面");
stage.setWidth(400);
stage.setHeight(300);
// primaryStage.setResizable(false);
//添加窗口小图标
stage.getIcons().add(new Image("/com/sjsq/imgs/1.png"));
stage.show();
//判断密码是否输入一致
b1.setOnAction(e->{
String pass = p_password.getText();
String apass = p_apass.getText();
String namString = t_name.getText();
if(pass.equals(apass)){
User user2 = new User(namString,apass);
if(achieveDao.changePassword(user2)>0){
Optional<ButtonType> op = new Alert(AlertType.INFORMATION,"修改成功,请重新登录",ButtonType.OK,ButtonType.CLOSE).showAndWait();
stage.close();
}else{
new Alert(AlertType.ERROR,"请重新确认密码").showAndWait();
}
}else{
new Alert(AlertType.ERROR,"两次密码输入不正确,请重新输入").showAndWait();
}
});
b2.setOnAction(e->{
stage.close();
});
}
}
四、其他事宜
1.更多系统
Java+Swing系统系列实现
Java+Swing实现斗地主游戏
Java+Swing实现图书管理系统
Java+Swing实现医院管理系统
Java+Swing实现考试管理系统
Java+Swing实现酒店管理系统
Java+Swing实现超市管理系统
Java+Swing实现电影购票系统
Java+Swing实现飞机订票系统
Java+Swing实现仓库管理系统-1
Java+Swing实现仓库管理系统-2
Java+Swing实现进销存管理系统
Java+Swing实现自助取款机系统
Java+Swing实现通讯录管理系统
Java+Swing实现停车场管理系统
Java+Swing实现学生信息管理系统-1
Java+Swing实现学生信息管理系统-2
Java+Swing实现学生宿舍管理系统
Java+Swing实现学生选课管理系统
Java+Swing实现学生成绩管理系统
Java+Swing实现学校教材管理系统
Java+Swing实现学校教务管理系统
Java+Swing实现企业人事管理系统
Java+Swing实现电子相册管理系统
Java+Swing实现超市管理系统-TXT存储数据
Java+Swing实现自助取款机系统-TXT存储数据
Java+Swing实现宠物商店管理系统-TXT存储数据
Java+JSP系统系列实现
Java+JSP实现学生图书管理系统
Java+JSP实现学生信息管理系统
Java+JSP实现用户信息管理系统
Java+JSP实现教师信息管理系统
Java+JSP实现学生宿舍管理系统
Java+JSP实现商品信息管理系统
Java+JSP实现宠物信息管理系统
Java+JSP实现学生成绩管理系统
Java+Servlet系统系列实现
Java+Servlet+JSP实现航空订票系统
Java+Servlet+JSP实现新闻发布系统
Java+Servlet+JSP学生宿舍管理系统
Java+Servlet+JSP实现图书管理系统
Java+Servlet+JSP实现停车场管理系统
Java+Servlet+JSP实现房屋租赁管理系统
Java+Servlet+JSP实现学生信息管理系统
Java+Servlet+JSP实现学生选课管理系统
Java+Servlet+JSPl实现学生选课签到系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+Servlet+JSP实现学生成绩管理系统-1
Java+Servlet+JSP实现学生成绩管理系统-2
Java+SSM系统系列实现
Java+SSM+JSP实现网上考试系统
Java+SSM+JSP实现宠物商城系统
Java+SSM+JSP实现超市管理系统
Java+SSM+JSP实现学生成绩管理系统
Java+SSM+JSP实现学生信息管理系统
Java+SSM+JSP实现药品信息管理系统
Java+SSM+JSP实现汽车信息管理系统
Java+SSM+Jspl实现商品信息管理系统
Java+SSM+JSP+Maven实现网上书城系统
Java+SSM+JSP+Maven实现学校教务管理系统
Java+SSH系统系列实现
Java+SSH+JSP实现在线考试系统
Java+SSH+JSP实现医院在线挂号系统
Java+Springboot系统系列实现
Java+Springboot+H-ui+Maven实现营销管理系统
Java+Springboot+Bootstrap+Maven实现网上商城系统
Java+Springboot+Bootstrap+Maven实现景区旅游管理系统
1.更多JavaWeb系统请关注专栏。
https://blog.csdn.net/helongqiang/category_10020130.html
2.更多JavaSwing系统请关注专栏。
https://blog.csdn.net/helongqiang/category_6229101.html
2.源码下载
Java+JavaFx+Mysql实现客户信息管理系统
账号:admin
密码:123456
3.运行项目
关注B站:水坚石青
后期有更多干货视频推出!!!
4.权益备注
如有侵权请联系我删除。
5.支持博主
如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!