1. 程式人生 > 其它 >基於Swing的簡易版JavaSwing通訊錄(第一部分)

基於Swing的簡易版JavaSwing通訊錄(第一部分)

技術標籤:Javajavaswing

之前學校期末實訓要求用寫一個通訊錄,下面來簡單記錄一下本次開發的過程。

專案要求
實訓要求較為簡單,功能點有:有聯絡人管理和分組管理,分別可對聯絡人和分組進行增刪改查

準備工作
開發環境:

  • 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

設計實體類和資料庫
由於本次實訓作業題目要求相對簡單,設計的表和實體類並不多

下面先介紹實體類情況:

  1. 一個Friend類,屬性如下:
    在這裡插入圖片描述
  2. 一個Group類,屬性如下:
    在這裡插入圖片描述

下面介紹資料庫及分表情況:

  1. 建立一個address_book資料庫
  2. 建立一個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包,用於存放使用者互動的檢視。