Lập trình Java Swing với ứng dụng quản lý học viên phần 3

Phần hướng dẫn lập trình Java Swing với ứng dụng quản lý học viên do đội ngũ Team Việt Dev biên soạn. Nội dung phần 3 nhằm hướng dẫn xây dựng sơ đồ lớp và thiết kế cơ sở dữ liệu.

Java Swing là một phần của JFC (Java Foundation Classes) được sử dụng để tạo các ứng dụng Window-Based. Java Swing được xây dựng ở trên cùng của AWT (Abstract Windowing Toolkit) và được viết bằng ngôn ngữ lập trình Java.

Nhằm giúp các bạn sinh viên, học viên hay một số bạn đang có nhu cầu tìm hiểu về lập trình Java Swing thì đội ngũ Team Việt Dev biên soạn một số tài liệu Java Swing và phần hướng dẫn lập trình Java Swing với ứng dụng quản lý học viên.

Lập trình Java Swing với ứng dụng quản lý học viên

Sau khi đã cài đặt đầy đủ các công cụ lập trình, hệ quản trị cơ sở dữ liệu… thì tiếp theo chúng ta sẽ khởi tạo dự án ứng dụng quản lý học viên trên Netbeans IDE với ngôn ngữ lập trình Java Swing.

Tải NetBeans, Navicat, MySQL tại đây:

 

1. Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu ứng dụng quản lý học viên gồm 3 bảng chính là học viên (chứa thông tin học viên), khóa học (chứa thông tin các khóa học của trung tâm) và lớp học chứa thông tin (học viên đăng ký khóa học).

Thiết kế cơ sở dữ liệu cho ứng dụng quản lý học viên như sau:

Lập trình Java Swing với ứng dụng quản lý học viên

Mã nguồn thiết kế như sơ đồ trên như sau:

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for hoc_vien
-- ----------------------------
DROP TABLE IF EXISTS `hoc_vien`;
CREATE TABLE `hoc_vien` (
  `ma_hoc_vien` int(11) NOT NULL AUTO_INCREMENT,
  `ho_ten` varchar(255) DEFAULT NULL,
  `ngay_sinh` date DEFAULT NULL,
  `gioi_tinh` bit(1) NOT NULL,
  `so_dien_thoai` varchar(255) DEFAULT NULL,
  `dia_chi` varchar(255) DEFAULT NULL,
  `tinh_trang` bit(1) NOT NULL,
  PRIMARY KEY (`ma_hoc_vien`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for khoa_hoc
-- ----------------------------
DROP TABLE IF EXISTS `khoa_hoc`;
CREATE TABLE `khoa_hoc` (
  `ma_khoa_hoc` int(11) NOT NULL AUTO_INCREMENT,
  `ten_khoa_hoc` varchar(255) DEFAULT NULL,
  `mo_ta` varchar(255) DEFAULT NULL,
  `ngay_bat_dau` date DEFAULT NULL,
  `ngay_ket_thuc` date DEFAULT NULL,
  `tinh_trang` bit(1) NOT NULL,
  PRIMARY KEY (`ma_khoa_hoc`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for lop_hoc
-- ----------------------------
DROP TABLE IF EXISTS `lop_hoc`;
CREATE TABLE `lop_hoc` (
  `ma_lop_hoc` int(11) NOT NULL AUTO_INCREMENT,
  `ma_khoa_hoc` int(11) DEFAULT NULL,
  `ma_hoc_vien` int(11) DEFAULT NULL,
  `ngay_dang_ky` date DEFAULT NULL,
  `tinh_trang` bit(1) NOT NULL,
  PRIMARY KEY (`ma_lop_hoc`),
  KEY `FK_nsk96k2rdocji4oakgsv51nuq` (`ma_hoc_vien`),
  KEY `FK_pvhxvf4oy1n5bp8tvn8a6tcnu` (`ma_khoa_hoc`),
  CONSTRAINT `FK_nsk96k2rdocji4oakgsv51nuq` FOREIGN KEY (`ma_hoc_vien`) REFERENCES `hoc_vien` (`ma_hoc_vien`),
  CONSTRAINT `FK_pvhxvf4oy1n5bp8tvn8a6tcnu` FOREIGN KEY (`ma_khoa_hoc`) REFERENCES `khoa_hoc` (`ma_khoa_hoc`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

2. Thiết kế sơ đồ lớp

Chúng ta cũng sẽ thiết kế sơ đồ lớp cơ bản cho ứng dụng quản lý học viên gồm một số lớp cơ bản sau:

Lập trình Java Swing với ứng dụng quản lý học viên

Lớp HocVien.java

package com.teamvietdev.qlhv.model;

import java.io.Serializable;
import java.sql.Date;

public class HocVien implements Serializable {

    private int ma_hoc_vien;
    private String ho_ten;
    private String so_dien_thoai;
    private String dia_chi;
    private Date ngay_sinh;
    private boolean gioi_tinh;
    private boolean tinh_trang;

    public int getMa_hoc_vien() {
        return ma_hoc_vien;
    }

    public void setMa_hoc_vien(int ma_hoc_vien) {
        this.ma_hoc_vien = ma_hoc_vien;
    }

    public String getHo_ten() {
        return ho_ten;
    }

    public void setHo_ten(String ho_ten) {
        this.ho_ten = ho_ten;
    }

    public String getSo_dien_thoai() {
        return so_dien_thoai;
    }

    public void setSo_dien_thoai(String so_dien_thoai) {
        this.so_dien_thoai = so_dien_thoai;
    }

    public String getDia_chi() {
        return dia_chi;
    }

    public void setDia_chi(String dia_chi) {
        this.dia_chi = dia_chi;
    }

    public Date getNgay_sinh() {
        return ngay_sinh;
    }

    public void setNgay_sinh(Date ngay_sinh) {
        this.ngay_sinh = ngay_sinh;
    }

    public boolean isGioi_tinh() {
        return gioi_tinh;
    }

    public void setGioi_tinh(boolean gioi_tinh) {
        this.gioi_tinh = gioi_tinh;
    }

    public boolean isTinh_trang() {
        return tinh_trang;
    }

    public void setTinh_trang(boolean tinh_trang) {
        this.tinh_trang = tinh_trang;
    }

}

Lớp KhoaHoc.java

package com.teamvietdev.qlhv.model;

import java.io.Serializable;
import java.sql.Date;

public class KhoaHoc implements Serializable {

    private int ma_khoa_hoc;
    private String ten_khoa_hoc;
    private String mo_ta;
    private Date ngay_bat_dau;
    private Date ngay_ket_thuc;
    private boolean tinh_trang;

    public int getMa_khoa_hoc() {
        return ma_khoa_hoc;
    }

    public void setMa_khoa_hoc(int ma_khoa_hoc) {
        this.ma_khoa_hoc = ma_khoa_hoc;
    }

    public String getTen_khoa_hoc() {
        return ten_khoa_hoc;
    }

    public void setTen_khoa_hoc(String ten_khoa_hoc) {
        this.ten_khoa_hoc = ten_khoa_hoc;
    }

    public String getMo_ta() {
        return mo_ta;
    }

    public void setMo_ta(String mo_ta) {
        this.mo_ta = mo_ta;
    }

    public Date getNgay_bat_dau() {
        return ngay_bat_dau;
    }

    public void setNgay_bat_dau(Date ngay_bat_dau) {
        this.ngay_bat_dau = ngay_bat_dau;
    }

    public Date getNgay_ket_thuc() {
        return ngay_ket_thuc;
    }

    public void setNgay_ket_thuc(Date ngay_ket_thuc) {
        this.ngay_ket_thuc = ngay_ket_thuc;
    }

    public boolean isTinh_trang() {
        return tinh_trang;
    }

    public void setTinh_trang(boolean tinh_trang) {
         this.tinh_trang = tinh_trang;
    }

}

Lớp LopHoc.java

package com.teamvietdev.qlhv.model;

import java.io.Serializable;
import java.sql.Date;

public class LopHoc implements Serializable {

    private int ma_lop_hoc;
    private KhoaHoc khoaHoc;
    private HocVien hocVien;
    private Date ngay_dang_ky;
    private boolean tinh_trang;

    public int getMa_lop_hoc() {
        return ma_lop_hoc;
    }

    public void setMa_lop_hoc(int ma_lop_hoc) {
        this.ma_lop_hoc = ma_lop_hoc;
    }

    public KhoaHoc getKhoaHoc() {
        return khoaHoc;
    }

    public void setKhoaHoc(KhoaHoc khoaHoc) {
        this.khoaHoc = khoaHoc;
    }

    public HocVien getHocVien() {
        return hocVien;
    }

    public void setHocVien(HocVien hocVien) {
        this.hocVien = hocVien;
    }

    public Date getNgay_dang_ky() {
        return ngay_dang_ky;
    }

    public void setNgay_dang_ky(Date ngay_dang_ky) {
        this.ngay_dang_ky = ngay_dang_ky;
    }

    public boolean isTinh_trang() {
        return tinh_trang;
    }

    public void setTinh_trang(boolean tinh_trang) {
        this.tinh_trang = tinh_trang;
    }

}

Như vậy thông qua những phần hướng dẫn trên mong rằng bạn có thể tìm hiểu dễ dàng và nhanh chóng hơn về lập trình Java Swing, có thể xây dựng một dự án hoàn chỉnh để hoàn thành báo cáo môn học hoặc luận văn tốt nghiệp.

Xem hướng dẫn thực hiện chi tiết tại đây:

Tải mã nguồn hướng dẫn lập trình Java Swing với ứng dụng quản lý học viên phần 3 tại đây: http://bit. ly/2T1you2

Lời kết: Trong thời gian tới Team Việt Dev sẽ tiếp tục ra mắt nhiều nội dung khác liên quan đến Java Swing miễn phí đến bạn đọc, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Team Việt Dev)

Bình luận