客户信息管理系统
Posted sparename
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户信息管理系统相关的知识,希望对你有一定的参考价值。
课程设计的题目及简介
客户信息管理系统,功能如下:
(1)添加客户信息
(2)修改客户信息
(3)删除客户数据
(4)查询客户列表
(5)所有数据通过JDBC保存到mysql数据库中
1,数据库名:cms_hisoft
2,表名:users
3,字段列表和类型:
id,int,主键,自动增长
name,varchar(20),姓名
gender,varchar(5),性别
age,int,年龄
phone…
设计说明
实现一个基于文本界面的《客户信息管理软件》
• 进一步掌握编程技巧和调试技巧,熟悉面向对象编
程
• 主要涉及以下知识点:
– 类和对象(属性、方法及构造器)
– 类的封装
– 数据库的基本操作
– 数据的插入、删除和替换
– 对象的聚集处理
– java通过jdbc链接数据库
• 实现基于文本界面的《客户信息管理软件》。
• 该软件能够实现对客户对象的插入、修改和删除(
用数组实现),并能够打印客户明细表。
• 项目采用分级菜单方式,主菜单如下:
“添加客户”的界面及操作过程如下所示:
“修改客户”的界面及操作过程如下所示:
“删除客户”的界面及操作过程如下所示:
“客户列表”的界面及操作过程如下所示:
客户应当包含的信息:
– String name : 客户姓名
– char gender : 性别
– int age : 年龄
– String phone: 电话号码
– String email : 电子邮箱
程序流图
程序清单
Customer 类
这是一个用来封装客户信息的类,这里面封装了客户的基本信息,并提供了各属性的 get / set 方法以及自编的构造器对属性进行初始化,下方代码省略了 get / set 方法
// Customer 实体类,用于封装客户信息
public class Customer
private int id;
private String name;
private String gender;
private int age;
private String phone;
private String email;
public int getId()
return id;
public void setId(int id)
this.id = id;
public String getName()
return name;
public void setName(String name)
this.name = name;
public String getGender()
return gender;
public void setGender(String gender)
this.gender = gender;
public int getAge()
return age;
public void setAge(int age)
this.age = age;
public String getPhone()
return phone;
public void setPhone(String phone)
this.phone = phone;
public String getEmail()
return email;
public void setEmail(String email)
this.email = email;
MainView类
主函数所在的类,其为主模块,负责菜单的显示和处理用户操作以及对数据库进行增删改查操作,其中该类下的成员方法仅供 MainView() 方法调用,该类中实现的主要有以下函数:
import java.sql.ResultSet;
public class MainView
private DataManager dataManager;
public static void main(String[] args)
new MainView();
public MainView()
try
//初始化dataManager
dataManager = new DataManager();
//链接数据库
dataManager.connetSql();
while (true)
System.out.println("--客户信息管理软件--");
System.out.println("\\t1 添 加 客 户");
System.out.println("\\t2 修 改 客 户");
System.out.println("\\t3 删 除 客 户");
System.out.println("\\t4 客 户 列 表");
System.out.println("\\t5 退 出");
System.out.println();
System.out.print("\\t请选择(1-5):");
switch (Tools.getMenu())
case 1:
addCustomer();
break;
case 2:
modifyCustomer();
break;
case 3:
delCustomer();
break;
case 4:
//查询客户列表
queryCustomerList();
break;
case 5:
dataManager.closeSql();
System.out.println("bye bye !");
return;
catch (Exception e)
// TODO: handle exception
System.out.println(e);
/**
* 修改客户信息
*/
private void modifyCustomer() throws Exception
/**
* ---------------------修改客户---------------------
* 请选择待修改客户编号(-1退出):1 姓名(张三):<直接回车表示不修改>
* 性别(男): 年龄(30): 电话(010-52776976): * 邮箱(zhang@abc.com):zsan@abc.com
* ---------------------修改完成---------------------
*/
System.out.println("--修改客户--");
System.out.print("请输入客户编号:");
int id = Tools.getNum();
if(id == -1)
System.out.println("--取消修改--");
return;
//进入修改逻辑,
ResultSet rs = dataManager.getCustomer(id);
//保存数据条数
int num=0;
// 展开结果集数据库
while(rs.next())
num++;
Customer customer = new Customer();
customer.setId(id);
//修改值
System.out.print("姓名("+rs.getString("name")+"):");
customer.setName(Tools.getStr(rs.getString("name")));
System.out.print("性别("+rs.getString("gender")+"):");
customer.setGender(Tools.getStr(rs.getString("gender")));
System.out.print("年龄("+rs.getInt("age")+"):");
customer.setAge(Tools.getNum(rs.getInt("age")));
System.out.print("电话("+rs.getString("phone")+"):");
customer.setPhone(Tools.getStr(rs.getString("phone")));
System.out.print("邮箱("+rs.getString("email")+"):");
customer.setEmail(Tools.getStr(rs.getString("email")));
int num2=dataManager.modifyCustomer(customer);
if(num2 == 1)
System.out.println("--修改完成--");
return;
System.out.println("--修改失败--");
if(num==0)
System.out.println("没有查到数据!");
return;
/**
* 删除客户信息
*/
private void delCustomer() throws Exception
/**
* --------------------
* 请选择待删除客户编号(-1退出):1 确认是否删除(Y/N):y
* --------------------
*/
System.out.println("--删除客户--");
System.out.print("请输入客户编号:");
int id = Tools.getNum();
if(id == -1)
System.out.println("--取消删除--");
return;
System.out.print("确认是否删除(Y/N):");
String ynStr = Tools.getYn();
//取消删除
if(ynStr.equals("N"))
System.out.println("--取消删除--");
return;
//确定删除
int num = dataManager.delCustomer(id);
if(num==0)
System.out.println("--删除失败--");
return;
System.out.println("--删除完成--");
/**
* 添加用户
*/
private void addCustomer() throws Exception
System.out.println("--添加客户--");
Customer customer = new Customer();
System.out.print("姓名:");
customer.setName(Tools.getStr());
System.out.print("性别:");
customer.setGender(Tools.getStr());
System.out.print("年龄:");
customer.setAge(Tools.getNum());
System.out.print("电话:");
customer.setPhone(Tools.getStr());
System.out.print("邮箱:");
customer.setEmail(Tools.getStr());
int num = dataManager.addCustomer(customer);
//判断是否添加成功
if(num==1)
System.out.println("--添加完成--");
else
System.out.println("--添加失败--");
/**
* 查询客户信息
* @throws Exception
*/
public void queryCustomerList()throws Exception
System.out.println("--客户列表--");
ResultSet rs = dataManager.getCustomerList();
System.out.println("编号\\t姓名\\t性别\\t年龄\\t电话\\t邮箱");
//保存数据条数
int num=0;
// 展开结果集数据库
while(rs.next())
num++;
// 输出数据
System.out.print(rs.getInt("id")+"\\t");
System.out.print(rs.getString("name")+"\\t");
System.out.print(rs.getString("gender")+"\\t");
System.out.print(rs.getInt("age")+"\\t");
System.out.print(rs.getString("phone")+"\\t");
System.out.print(rs.getString("email"));
System.out.print("\\n");
if(num==0)
System.out.println("没有查到数据!");
// 完成后关闭
rs.close();
System.out.println("--客户列表完成--");
Tools类
该类主要对用户进行的输入的不合法数据进行修改,让用户输入数据合法
import java.util.Scanner;
public class Tools
private static Scanner sc = new Scanner(System.in);
/**
* 得到y/n
* @return
*/
public static String getYn()
String ynStr;
while (true)
ynStr = getStr().toUpperCase();
if(ynStr.equals("Y") || ynStr.equals("N"))
return ynStr;
System.out.print("输入错误,请输入y/n:");
/**
* 获得用户输入菜单
* @return 菜单
*/
public static int getMenu()
//菜单数字
int menuNum;
while (true)
menuNum = getNum();
if(menuNum>=1 && menuNum<=5)
return menuNum;
System.out.print("输入错误,请输入(1-5):");
/**
* 获得数字
* @return
*/
public static int getNum()
String numStr;
int num;
while (true)
numStr = getStr();
try
num = Integer.parseInt(numStr);
return num;
catch (Exception e)
System.out.print("输入错误,请输入数字:");
continue;
/**
* 获取数字,有默认值
* @param num0
* @return
*/
public static int getNum(int num0)
String numStr;
int num;
while (true)
numStr = getStr("");
if(numStr.length() == 0)
//直接回车
return num0;
try
num = Integer.parseInt(numStr);
return num;
catch (Exception e)
System.out.print("输入错误,请输入数字:");
continue;
/**
* 接收非空字符串
* @return
*/
public static String getStr()
String str;
while (true)
str = sc.nextLine();
//直接回车,得到空字符串
if(str.length()==0)
System.out.C语言 项目 CRM系统(客户信息管理系统)