基于JDBC的通讯录管理系统

1.设计阶段

1.1需求分析

通讯录中需要存储姓名,地址,电话号码,邮政编码,Email,家庭电话等信息。
程序应提供的基本管理功能有:
1、添加:增加一个人的记录(包括姓名,地址,电话号码,邮政编码,Email,家庭电话等信息)到通信录中。
2、显示:在屏幕上显示所有通信录中的联系人的全部信息(包括姓名,地址,电话号码,邮政编码,Email,家庭电话等信息)。
3、存储:将通讯录信息保存在数据库表中。
4、查询:可根据姓名查找某人的相关信息,若找到显示该联系人的其他信息(包括姓名,地址,电话号码,邮政编码,Email,家庭电话等信息)。
5、修改:输入一个人的姓名,若姓名存在,则对其他内容进行修改,若不存在则显示修改失败
6、排序:可以根据据条目的某个项对所有条目进行排序,如姓名。

1.2通讯录管理系统的功能图

在这里插入图片描述

1.3通讯录管理系统的用例图

在这里插入图片描述

1.4通讯录管理系统的E-R图

在这里插入图片描述

2.数据库设计

在这里插入图片描述

3.程序设计

2.1function

2.1.1设计ContactPerson类

package function;

//联系人类
public class ContactPerson {
   
    private String name;
    private String address;
    private String num;
    private String postal_code; //邮政编码
    private String e_mail;
    private String home_phon; //家庭电话

    public void setName(String name) {
   
        this.name = name;
    }

    public void setAdd(String address) {
   
        this.address = address;
    }

    public void setNum(String num) {
   
        this.num = num;
    }

    public void setPostal_code(String postal_code) {
   
        this.postal_code = postal_code;
    }

    public void setE_mail(String e_mail) {
   
        this.e_mail = e_mail;
    }

    public void setHome_phon(String home_phon) {
   
        this.home_phon = home_phon;
    }

    public String getName() {
   
        return name;
    }

    public String getAdd() {
   
        return address;
    }

    public String getNum() {
   
        return num;
    }

    public String getPostal_code() {
   
        return postal_code;
    }

    public String getE_mail() {
   
        return e_mail;
    }

    public String getHome_phon() {
   
        return home_phon;
    }

    @Override
    public String toString() {
   
        return "ContactPerson{" + "name='" + name + '\'' + ", address='" + address + '\'' + ", num='" + num + '\'' + ", postal_code='" + postal_code + '\'' + ", e_mail='" + e_mail + '\'' + ", home_phon='" + home_phon + '\'' + '}';
    }
}

2.1.2设计DBUtils类

package function;

import java.sql.*;

public class DBUtils {
   
    private static String url = "jdbc:mysql://127.0.0.1:3306/text?useSSL=false&useUnicode=yes&characterEncoding=UTF-8";
    private static String user = "root"; //数据库用户名
    private static String password = "123456"; //数据库密码

    public static Connection getConn() throws SQLException, ClassNotFoundException {
   
        //1.加载驱动程序
        Class.forName("com.mysql.jdbc.Driver");
        //2.获得数据库的连接
        return DriverManager.getConnection(url, user, password);
    }

    public static void close(Statement stat, Connection conn, ResultSet res) {
   
        //关闭结果集
        if( stat != null){
   
            try {
   
                stat.close();
            } catch (SQLException e) {
   
                e.printStackTrace();
            }
        }
        //关闭命令
        if( conn != null){
   
            try {
   
                conn.close();
            } catch (SQLException e) {
   
                e.printStackTrace();
            }
        }
        //关闭连接
        if( res != null){
   
            try {
   
                res.close();
            } catch (SQLException e) {
   
                e.printStackTrace();
            }
        }
    }
}

2.1.3设计ContactHandle接口

package function;//通讯录功能接口

import java.sql.SQLException;

public interface ContactHandle {
   
    public abstract void add(String name,String address,String num,String postal_code,String e_mail,String home_phon);
    //添加
    public abstract void remove(String name) throws SQLException, ClassNotFoundException;
    //删除
    public abstract void update(String name,String address,String num,String postal_code,String e_mail,String home_phon);
    //修改
    public abstract ContactPerson selectName(String name);
    //根据姓名查询
    public abstract ContactPerson selectNum(String num);
    //根据电话查询
    public abstract void sort() throws SQLException;
    //排序
    <
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值