1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình Java – Chương 5: Lập trình theo mô hình 2 lớp với Java

37 57 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 37
Dung lượng 1,18 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Lập trình Java Chương 5: Lập trình theo mô hình 2 lớp với Java cung cấp cho người học các kiến thức: Hướng tiếp cận phân tầng trong phần mềm, vai trò của hướng tiếp cận phân tầng, một số hướng tiếp cận phân từng thông dụng,... Mời các bạn cùng tham khảo.

Trang 1

Phát triển UD CSDL 2

Lập trình theo mô hình 2 lớp với JAVA

Trang 2

Nội dung

• H ướng tiếp cận phân tầng trong phần mềm ng ti p c n phân t ng trong ph n m m ếp cận phân tầng trong phần mềm ận phân tầng trong phần mềm ầng trong phần mềm ầng trong phần mềm ềm

• Vai trò c a h ủa hướng tiếp cận phân tầng ướng tiếp cận phân tầng trong phần mềm ng ti p c n phân t ng ếp cận phân tầng trong phần mềm ận phân tầng trong phần mềm ầng trong phần mềm

• M t s h ột số hướng tiếp cận phân từng thông dụng ố hướng tiếp cận phân từng thông dụng ướng tiếp cận phân tầng trong phần mềm ng ti p c n phân t ng thông d ng ếp cận phân tầng trong phần mềm ận phân tầng trong phần mềm ừng thông dụng ụng

• Mô hình 2 t ng đ n gi n ầng trong phần mềm ơn giản ản

• M t s ví d ột số hướng tiếp cận phân từng thông dụng ố hướng tiếp cận phân từng thông dụng ụng

Trang 3

Hướng tiếp cận phân tầng

• Chia ph n m m thành các t ng (layer) ầng trong phần mềm ềm ầng trong phần mềm

• Khi thi t k c n l u ý: ếp cận phân tầng trong phần mềm ếp cận phân tầng trong phần mềm ầng trong phần mềm ư

– M i t ng ch u trách nhi m riêng ỗi tầng chịu trách nhiệm riêng ầng trong phần mềm ịu trách nhiệm riêng ệm riêng

– D li u đ u vào và đ u ra c a m i t ng nên rõ ràng và d s ệm riêng ầng trong phần mềm ầng trong phần mềm ủa hướng tiếp cận phân tầng ỗi tầng chịu trách nhiệm riêng ầng trong phần mềm ễ sử ử

d ng ụng

– Khi m t t ng b thay đ i thì kh năng nh h ột số hướng tiếp cận phân từng thông dụng ầng trong phần mềm ịu trách nhiệm riêng ổi thì khả năng ảnh hưởng của nó đến các ản ản ưởng của nó đến các ng c a nó đ n các ủa hướng tiếp cận phân tầng ếp cận phân tầng trong phần mềm

t ng khác th p nh t nh t có th có ầng trong phần mềm ấp nhất nhất có thể có ấp nhất nhất có thể có ấp nhất nhất có thể có ể có

Trang 4

Vai trò của hướng tiếp cận phân tầng

• S n sàng cho vi c m r ng h th ng ẵn sàng cho việc mở rộng hệ thống ệm riêng ởng của nó đến các ột số hướng tiếp cận phân từng thông dụng ệm riêng ố hướng tiếp cận phân từng thông dụng

• Tái s d ng mã ngu n ử ụng ồn

• D b o trì h th ng ễ sử ản ệm riêng ố hướng tiếp cận phân từng thông dụng

• D dàng phân chia công vi c trong nhóm ễ sử ệm riêng

Trang 5

Một số mô hình phân tầng

• 2 Layer / 2 Tier

• 3 Layer / 3 Tier

• N Layer / N Tier

Trang 6

Mô hình 2 tầng đơn giản

Tầng giao diện

Tầng truy cập dữ

liệu

Cơ sở dữ liệu

Đ i tố hướng tiếp cận phân từng thông dụng ượng ng

trao đ i d ổi thì khả năng ảnh hưởng của nó đến các

li u: ệm riêng POJO

Trang 7

Đối tượng trao đổi dữ liệu (POJO) đơn giản

POJO: Plain Old Java Object

Mỗi lớp POJO đại diện cho bảng trong cơ sở dữ liệu

Mỗi lớp POJO gồm những thành phần sau:

– Các thuộc tính tương ứng với các cột trong bảng – Tối thiểu một phương thức khởi tạo mặc định

– Nên viết thêm phương thức khởi tạo đầy đủ tham số

– Các phương thức cung cấp và cập nhật thông tin cho từng thuộc tính (get/set)

Trang 8

Đối tượng trao đổi dữ liệu (POJO) đơn giản

Trang 9

Đối tượng trao đổi dữ liệu (POJO) đơn giản

nhanvien

phongban

NhanVien

PhongBan

Trang 10

public class PhongBan implements Serializable {

private int MAPHG;private String TENPHG;

//Các ph ương thức khởi tạo ng th c kh i t o ức khởi tạo ởi tạo ạo

public PhongBan() {}

public PhongBan(int maPhongBan, String tenPhongBan) { this.MAPHG = maPhongBan;

this.TENPHG = tenPhongBan;

}

// Các ph ương thức khởi tạo ng th c get/set ức khởi tạo

public String getTenPhong() { return this.TENPHG;

}public void setTenPhong (String tenphong) { this.TENPHG = tenphong;

}}

Trang 11

//Các ph ương thức khởi tạo ng th c kh i t o ức khởi tạo ởi tạo ạo

Trang 12

Tầng dữ liệu (DAO)

• M i DAO đ i di n cho m t b ng bên d ỗi tầng chịu trách nhiệm riêng ại diện cho một bảng bên dưới CSDL ệm riêng ột số hướng tiếp cận phân từng thông dụng ản ướng tiếp cận phân tầng trong phần mềm i CSDL

• M i DAO th ỗi tầng chịu trách nhiệm riêng ường chứa những phương thức như: ng ch a nh ng ph ứa những phương thức như: ươn giản ng th c nh : ứa những phương thức như: ư

Thêm, xoá, s a d li u ửa dữ liệu ữ liệu ệu

Rút trích d li u ữ liệu ệu

– Các ph ươn giản ng th c truy xu t d li u h tr cho nghi p v ứa những phương thức như: ấp nhất nhất có thể có ệm riêng ỗi tầng chịu trách nhiệm riêng ợng ệm riêng ụng

• M i ph ỗi tầng chịu trách nhiệm riêng ươn giản ng th c trong DAO có các tham s đ u vào và các ứa những phương thức như: ố hướng tiếp cận phân từng thông dụng ầng trong phần mềm

k t qu tr ra là: ếp cận phân tầng trong phần mềm ản ản

Đ i t ối tượng POJO, mảng POJO ượng POJO, mảng POJO ng POJO, m ng POJO ảng POJO (ArrayList<POJO>)

– Ki u d li u đ n gi n nh : ể có ệm riêng ơn giản ản ư boolean,int, String, float,

Trang 13

Tầng dữ liệu (DAO)

Trang 14

Tầng dữ liệu (DAO)

Trang 15

Xây dựng lớp hỗ trợ kết nối và truy xuất CSDL – MySQLDataHelper

• M c đích: ụng

– T p trung hoá các thao tác m k t n i c s d li u, th c hi n các ận phân tầng trong phần mềm ởng của nó đến các ếp cận phân tầng trong phần mềm ố hướng tiếp cận phân từng thông dụng ơn giản ởng của nó đến các ệm riêng ực hiện các ệm riêng truy v n (thêm, xoá, s a, đ c, tìm ki m, …) do m t l p qu n lý ấp nhất nhất có thể có ử ọc, tìm kiếm, …) do một lớp quản lý ếp cận phân tầng trong phần mềm ột số hướng tiếp cận phân từng thông dụng ớng tiếp cận phân tầng trong phần mềm ản  nâng cao kh năng tái s d ng và b o trì ản ử ụng ản

Xây d ng l p ựng lớp ớp MySQLDataHelper

M t s tên g i khác: DataService, DataProvider ột số tên gọi khác: DataService, DataProvider ố tên gọi khác: DataService, DataProvider ọi khác: DataService, DataProvider

M t s ph ột số hướng tiếp cận phân từng thông dụng ố hướng tiếp cận phân từng thông dụng ươn giản ng th c c b n c n xây d ng: ứa những phương thức như: ơn giản ản ầng trong phần mềm ực hiện các

- M k t n i ở kết nối ết nối ố tên gọi khác: DataService, DataProvider

- Đóng k t n i ết nối ố tên gọi khác: DataService, DataProvider

- Th c thi câu l nh SQL ực thi câu lệnh SQL ệnh SQL

- Th c thi stored procedur ực thi câu lệnh SQL e

Trang 16

private Connection connection;

public void open() {

Trang 17

import java.sql.Connection; import java.sql.Driver;

import java.sql.DriverManager; import java.sql.ResultSet;

import java.sql.Statement; import java.util.Properties;

public class MySQLDataAccessHelper {

      info.setProperty("characterEncoding", "utf-8");

      info.setProperty("user", "root");

      info.setProperty("password", "");

      this.connection = DriverManager.getConnection(url, info);         } catch (Exception ex) {

      System.out.println(ex.getMessage());

        }

    }

Trang 20

PhongBanDAO.java

• Xây d ng l p truy c p d li u PhongBanDAO v i các ực hiện các ớng tiếp cận phân tầng trong phần mềm ận phân tầng trong phần mềm ệm riêng ớng tiếp cận phân tầng trong phần mềm

ph ươn giản ng th c: ứa những phương thức như:

(String tenPhongBan)

L u ý: Tuỳ theo nghi p v mà l p truy c p d li u có nh ng ph ư ệm riêng ụng ớng tiếp cận phân tầng trong phần mềm ận phân tầng trong phần mềm ệm riêng ươn giản ng

th c khác VD: ứa những phương thức như:

Trang 21

public class PhongBanDAO {

public static ArrayList<PhongBan> layDanhSachPhongBan() {

ArrayList<PhongBan> ds = new ArrayList<PhongBan>();

try {

String sql = "SELECT * FROM PHONGBAN";

MySQLDataAccessHelper helper = new MySQLDataAccessHelper();

Trang 27

NhanVienDAO.java

• L y danh sách nhân viên ấp nhất nhất có thể có

• L y thông tin chi ti t c a nhân viên d a trên mã nhân viên ấp nhất nhất có thể có ếp cận phân tầng trong phần mềm ủa hướng tiếp cận phân tầng ực hiện các

• Ki m tra xem nhân viên đã t n t i ch a ể có ồn ại diện cho một bảng bên dưới CSDL ư

• Thêm nhân viên

• Xóa nhân viên

• C p nh t nhân viên ận phân tầng trong phần mềm ận phân tầng trong phần mềm

Trang 28

Tầng giao diện (GUI)

• Có nhi u lo i giao di n: ềm ại diện cho một bảng bên dưới CSDL ệm riêng

– Giao di n ệm riêng WEB

– Giao di n ệm riêng Window

– Giao di n ệm riêng Mobile

Trang 29

Tầng giao diện (GUI)

Trang 30

Tầng giao diện (GUI)

Trang 31

VD 1: Chức năng Xem danh sách phòng ban

PhongBan

DB

PB1_GetListPhongBan GUI

Trang 32

import javax.swing.table.DefaultTableModel; import pojo.PhongBan;

public class PB1_GetListPhongBan extends JInternalFrame {

initComponents();

ArrayList<PhongBan> dsPhongBan = PhongBanDAO.layDanhSachPhongBan();

String[] columns = new String [] { "Mã Phòng" , "Tên Phòng" };

DefaultTableModel model = new DefaultTableModel( null , columns);

for (PhongBan p: dsPhongBan) {

Object [] items = new Object [] {

Trang 33

VD 2: Chức năng Thêm phòng ban

Trang 34

private void initComponents() { … }

private void jbtnThemPhongActionPerformed(java.awt.event.ActionEvent evt) {

String tenphong = jtxtTENPHG.getText();

PhongBan p = newPhongBan();

private javax.swing.JButton jbtnThemPhong;

private javax.swing.JTextField jtxtTENPHG;

}

Trang 37

int maphong = Integer.parseInt(jtxtMaPhong.getText());

String tenphong = jtxtTenPhong.getText();

PhongBan p = new PhongBan (maphong, tenphong);

Ngày đăng: 16/07/2020, 10:51

HÌNH ẢNH LIÊN QUAN

Lập trình theo mô hình 2 lớp với JAVA - Bài giảng Lập trình Java – Chương 5: Lập trình theo mô hình 2 lớp với Java
p trình theo mô hình 2 lớp với JAVA (Trang 1)
Một số mô hình phân tầng - Bài giảng Lập trình Java – Chương 5: Lập trình theo mô hình 2 lớp với Java
t số mô hình phân tầng (Trang 5)
Mô hình 2 tầng đơn giản - Bài giảng Lập trình Java – Chương 5: Lập trình theo mô hình 2 lớp với Java
h ình 2 tầng đơn giản (Trang 6)
Màn hình giao diện - Bài giảng Lập trình Java – Chương 5: Lập trình theo mô hình 2 lớp với Java
n hình giao diện (Trang 29)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w