客户信息管理系统

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系统(客户信息管理系统)

如何能把阿里巴巴客户管理系统中的联系人全部导出

project--客户信息管理系统

java用集合实现客户信息管理软件

CRM客户关系管理系统如何推动企业走向成功

Golang客户信息关系系统