0
点赞
收藏
分享

微信扫一扫

通讯录系统java程序mysql

爱情锦囊 2023-08-03 阅读 68

通讯录系统Java程序MySQL

通讯录系统是一种用于管理联系人信息的应用程序。Java是一种广泛应用于开发各种类型应用程序的编程语言,而MySQL是一种关系型数据库管理系统。在本文中,将介绍如何使用Java编写一个通讯录系统,并使用MySQL数据库存储联系人信息。

数据库设计

在开始编写Java程序之前,首先需要设计数据库模式来存储联系人信息。在通讯录系统中,每个联系人具有姓名、电话号码和电子邮件地址等属性。可以创建一个名为“contacts”的表来存储联系人信息,表的结构如下:

CREATE TABLE contacts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    phone VARCHAR(20) NOT NULL,
    email VARCHAR(100) NOT NULL
);

在该表中,id是一个自增主键,每个联系人都有一个唯一的ID。name、phone和email分别用于存储联系人的姓名、电话号码和电子邮件地址。

Java程序设计

接下来,可以使用Java编写通讯录系统的程序。首先,需要创建一个Contact类来表示联系人对象,代码如下:

public class Contact {
    private int id;
    private String name;
    private String phone;
    private String email;

    public Contact(int id, String name, String phone, String email) {
        this.id = id;
        this.name = name;
        this.phone = phone;
        this.email = email;
    }

    // 省略getter和setter方法
}

在该类中,id、name、phone和email分别对应联系人的ID、姓名、电话号码和电子邮件地址。还可以为Contact类添加getter和setter方法来访问和修改联系人属性。

接下来,可以创建一个ContactDao类来处理联系人的数据库操作,包括插入联系人、删除联系人和查询联系人等。代码如下:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class ContactDao {
    private Connection connection;

    public ContactDao() {
        try {
            // 连接数据库
            String url = "jdbc:mysql://localhost:3306/contacts";
            String username = "root";
            String password = "password";
            connection = DriverManager.getConnection(url, username, password);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void insertContact(Contact contact) {
        try {
            String query = "INSERT INTO contacts (name, phone, email) VALUES (?, ?, ?)";
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setString(1, contact.getName());
            statement.setString(2, contact.getPhone());
            statement.setString(3, contact.getEmail());
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public void deleteContact(int id) {
        try {
            String query = "DELETE FROM contacts WHERE id=?";
            PreparedStatement statement = connection.prepareStatement(query);
            statement.setInt(1, id);
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public List<Contact> getAllContacts() {
        List<Contact> contacts = new ArrayList<>();

        try {
            String query = "SELECT * FROM contacts";
            Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(query);
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String phone = resultSet.getString("phone");
                String email = resultSet.getString("email");
                Contact contact = new Contact(id, name, phone, email);
                contacts.add(contact);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        return contacts;
    }
}

在ContactDao类中,首先使用JDBC连接到MySQL数据库。可以通过修改url、username和password变量来适应自己的数据库配置。然后,提供了insertContact、deleteContact和getAllContacts等方法来插入联系人、删除联系人和查询所有联系人。

最后,可以创建一个Main类来演示如何使用ContactDao类来操作联系人。代码如下:

public class Main {
    public static void main(String[] args) {
        ContactDao contactDao = new ContactDao();

        // 插入联系人
        Contact contact1 = new Contact(1, "张三", "123456789", "zhangsan@example.com");
        contactDao.insertContact(contact1);

        Contact contact2 = new Contact(2, "李四", "987654321", "lisi@example.com");
        contactDao.insertContact(contact2);

        // 查询所有联系人
        List<Contact> contacts = contactDao.getAllContacts();
        for (Contact contact : contacts) {
举报

相关推荐

通讯录管理系统

Qt通讯录管理系统

通讯录管理系统整理

通讯录排序

文件通讯录

0 条评论