文章目录
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;
//排序
<