基於Swing的簡易版JavaSwing通訊錄(第一部分)
阿新 • • 發佈:2021-02-16
之前學校期末實訓要求用寫一個通訊錄,下面來簡單記錄一下本次開發的過程。
專案要求
實訓要求較為簡單,功能點有:有聯絡人管理和分組管理,分別可對聯絡人和分組進行增刪改查
準備工作
開發環境:
- JDK8
- mysql-connector-java-版本號-bin.jar(根據自己的mysql版本下載不同版本的,我用的是mysql-connector-java-5.1.49-bin.jar)
- Eclipse
- eclipse的WindowBuilder外掛
- Mysql
- Navicat(資料庫管理工具,初學者不要使用,老老實實寫sql)
知識點:簡單瞭解MVC,JDBC、寫sql語句、以及常見集合類和swing
設計實體類和資料庫
由於本次實訓作業題目要求相對簡單,設計的表和實體類並不多
下面先介紹實體類情況:
- 一個Friend類,屬性如下:
- 一個Group類,屬性如下:
下面介紹資料庫及分表情況:
- 建立一個address_book資料庫
- 建立一個friend表、其中的欄位和細節如下:
3.建立一個group表,其中的欄位和細節如下:
開始敲程式碼
首先開啟Eclipse,建立一個新專案,命名AddressBook;
在src下建立一個包com,在com下再建立一個包,以自己的方式命名,我這裡命名mtz;
在mtz下建立一個entity包建立兩個實體類
package com.mtz.entity;
public class Friend {
private Integer id;
private String name;
private String phone;
private String mail;
private String address;
private Integer group_id;
private String group_name;
private String sex;
public Integer getId() {
return id;
}
public void setId(Integer 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 getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getGroup_id() {
return group_id;
}
public void setGroup_id(Integer group_id) {
this.group_id = group_id;
}
public String getGroup_name() {
return group_name;
}
public void setGroup_name(String group_name) {
this.group_name = group_name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Friend{" +
"id=" + id +
", name='" + name + '\'' +
", phone='" + phone + '\'' +
", mail='" + mail + '\'' +
", address='" + address + '\'' +
", group_id=" + group_id +
", group_name='" + group_name + '\'' +
", sex='" + sex + '\'' +
'}';
}
}
package com.mtz.entity;
public class Group {
private Integer id;
private String group_name;
private Integer group_size;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getGroup_name() {
return group_name;
}
public void setGroup_name(String group_name) {
this.group_name = group_name;
}
public Integer getGroup_size() {
return group_size;
}
public void setGroup_size(Integer group_size) {
this.group_size = group_size;
}
@Override
public String toString() {
return group_name;
}
}
在com.mtz包下建立一個dao包,用於操作資料庫
在com.mtz.dao下建立兩個類,並寫上增刪改查四個方法,方法先不做具體實現,根據需求再做具體實現
package com.mtz.dao;
import java.util.List;
import com.mtz.entity.Friend;
public class FriendDao {
public boolean add(Friend friend) {
return false;
}
public boolean delete(int id) {
return false;
}
public boolean update(Friend friend) {
return false;
}
public List<Friend> find(Friend friend) {
return null;
}
}
package com.mtz.dao;
import java.util.List;
import com.mtz.entity.Group;
public class GroupDao {
public boolean addGroup(Group group) {
return false;
}
public boolean deleteGroup(int id) {
return false;
}
public boolean update(Group group) {
return false;
}
public List<Group> find(Group group){
return null;
}
}
在com.mtz下建立一個util包,用於存放常用、可複用的程式碼,先寫一個常用的字串判空的方法,以後還有可以繼續加
package com.mtz.util;
public class StringUtil {
public static boolean isEmpty(String str){
if(str == null || "".equals(str))
return true;
return false;
}
}
最後在com.mtz包下建立一個view包,用於存放使用者互動的檢視。