java的客户管理系统(用jdbc技术,进行控制台输出的客户管理系统,并写出全部步骤和代码以及用三层架构提现其项目功能)
时间: 2024-03-08 08:47:50 浏览: 24
好的,下面是Java客户管理系统的全部步骤和代码,同时使用三层架构提现其项目功能。
步骤:
1. 创建Java项目,并建立数据库连接。这里使用MySQL数据库,所以需要引入MySQL驱动程序。
2. 创建表示层。在控制台上输出欢迎信息以及菜单选项。用户可以选择添加客户、删除客户、修改客户、查询客户或者退出系统。
3. 创建数据访问层。使用JDBC技术与MySQL数据库进行交互。在这里,我们需要实现向数据库中插入一条新记录、从数据库中删除相应的记录、更新数据库中的记录以及从数据库中查询记录等操作。
4. 创建业务逻辑层。客户管理类用于实现与客户相关的操作。该类应该包括添加客户、删除客户、更新客户、查询客户等方法。
5. 在表示层中调用客户管理类的相应方法,以执行用户选择的操作。
代码:
表示层:
```
package com.example;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to the Customer Management System!");
Scanner scanner = new Scanner(System.in);
CustomerManager manager = new CustomerManager();
while (true) {
System.out.println("Please select an option:");
System.out.println("1. Add a customer");
System.out.println("2. Delete a customer");
System.out.println("3. Update a customer");
System.out.println("4. Query customers");
System.out.println("5. Exit");
int choice = scanner.nextInt();
switch (choice) {
case 1:
manager.addCustomer();
break;
case 2:
manager.deleteCustomer();
break;
case 3:
manager.updateCustomer();
break;
case 4:
manager.queryCustomers();
break;
case 5:
System.out.println("Thank you for using the Customer Management System.");
System.exit(0);
break;
default:
System.out.println("Invalid input. Please try again.");
break;
}
}
}
}
```
数据访问层:
```
package com.example;
import java.sql.*;
public class CustomerDAO {
private static final String URL = "jdbc:mysql://localhost:3306/customer_management_system";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
private Connection connection;
private PreparedStatement statement;
public CustomerDAO() {
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void addCustomer(Customer customer) {
try {
String sql = "INSERT INTO customers (name, phone, address) VALUES (?, ?, ?)";
statement = connection.prepareStatement(sql);
statement.setString(1, customer.getName());
statement.setString(2, customer.getPhone());
statement.setString(3, customer.getAddress());
int result = statement.executeUpdate();
if (result > 0) {
System.out.println("Customer added successfully.");
} else {
System.out.println("Failed to add customer.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void deleteCustomer(int id) {
try {
String sql = "DELETE FROM customers WHERE id=?";
statement = connection.prepareStatement(sql);
statement.setInt(1, id);
int result = statement.executeUpdate();
if (result > 0) {
System.out.println("Customer deleted successfully.");
} else {
System.out.println("Failed to delete customer.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updateCustomer(Customer customer) {
try {
String sql = "UPDATE customers SET name=?, phone=?, address=? WHERE id=?";
statement = connection.prepareStatement(sql);
statement.setString(1, customer.getName());
statement.setString(2, customer.getPhone());
statement.setString(3, customer.getAddress());
statement.setInt(4, customer.getId());
int result = statement.executeUpdate();
if (result > 0) {
System.out.println("Customer updated successfully.");
} else {
System.out.println("Failed to update customer.");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void queryCustomers() {
try {
String sql = "SELECT * FROM customers";
statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String phone = resultSet.getString("phone");
String address = resultSet.getString("address");
System.out.println("ID: " + id + ", Name: " + name + ", Phone: " + phone + ", Address: " + address);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
业务逻辑层:
```
package com.example;
import java.util.Scanner;
public class CustomerManager {
private CustomerDAO dao;
private Scanner scanner;
public CustomerManager() {
dao = new CustomerDAO();
scanner = new Scanner(System.in);
}
public void addCustomer() {
System.out.println("Please enter the customer's name:");
String name = scanner.next();
System.out.println("Please enter the customer's phone number:");
String phone = scanner.next();
System.out.println("Please enter the customer's address:");
String address = scanner.next();
Customer customer = new Customer(name, phone, address);
dao.addCustomer(customer);
}
public void deleteCustomer() {
System.out.println("Please enter the ID of the customer you want to delete:");
int id = scanner.nextInt();
dao.deleteCustomer(id);
}
public void updateCustomer() {
System.out.println("Please enter the ID of the customer you want to update:");
int id = scanner.nextInt();
System.out.println("Please enter the customer's new name:");
String name = scanner.next();
System.out.println("Please enter the customer's new phone number:");
String phone = scanner.next();
System.out.println("Please enter the customer's new address:");
String address = scanner.next();
Customer customer = new Customer(id, name, phone, address);
dao.updateCustomer(customer);
}
public void queryCustomers() {
dao.queryCustomers();
}
}
```
客户类:
```
package com.example;
public class Customer {
private int id;
private String name;
private String phone;
private String address;
public Customer(String name, String phone, String address) {
this.name = name;
this.phone = phone;
this.address = address;
}
public Customer(int id, String name, String phone, String address) {
this.id = id;
this.name = name;
this.phone = phone;
this.address = address;
}
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 getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
```
通过使用三层架构,Java客户管理系统实现了代码的模块化和可维护性。每个层次都有特定的职责,以实现代码的分离和重用。