MyBatis Nguyên Lý Hoạt Động Và Cách Sử Dụng Hiệu Quả
Hiểu Rõ Nguyên Lý Làm Việc Của MyBatis
MyBatis là một framework hỗ trợ mạnh mẽ cho việc thao tác với cơ sở dữ liệu trong các ứng dụng Java. Thay vì viết JDBC thuần, MyBatis giúp giảm thiểu lượng code lặp lại và tăng tính dễ bảo trì bằng cách ánh xạ câu lệnh SQL với các phương thức trong interface.
Cốt Lõi Của MyBatis
Mapper Interface: Tất c ...
Đăng vào ngày 21 tháng 6 lúc 06:25
Cách Duyệt Qua Map Trong Java
Trong Java, có nhiều cách để duyệt qua một đối tượng Map, từ việc sử dụng Iterator đến việc tận dụng các tính năng mới như vòng lặp for-each và biểu thức lambda trong JDK 8.
1. Sử dụng keySet() hoặc values()
Nếu chỉ cần lấy các khóa (keys) hoặc các giá trị (values) từ Map, phương pháp này rất tiện lợi:
import java.util.HashMap;
import java.uti ...
Đăng vào ngày 21 tháng 6 lúc 03:00
Hướng dẫn lập trình JUC (Phần 6): Hàng đợi chặn BlockingQueue
Hàng đợi chặn BlockingQueue
BlockingQueue là một giao kế thừa từ giao diện Queue, hỗ trợ các thao tác chờ khi lấy phần tử nếu hàng đợi rỗng và chờ khi thêm phần tử nếu hàng đợi đầy. (Có thể áp dụng trong mô hình người sản xuất - người tiêu dùng)
Các lớp thực hiện bao gồm: ArrayBlockingQueue, DelayQueue, LinkedBlockingDeque, LinkedBlockingQue ...
Đăng vào ngày 21 tháng 6 lúc 02:12
Lỗi không nhận được tệp khi tải lên qua form
Khi triển khai chức năng tải tệp lên bằng Java, gặp phải vấn đề backend không thể nhận được dữ liệu tệp. Cụ thể như sau:
Phương thức xử lý tệp trong Controller được viết như sau:
/**
* Tải tệp lên
* @since 2018-05-22
* @return
*/
@ApiOperation(value="Tải tệp", notes = "Giao diện tải tệp")
@RequestMapping(value = "/t ...
Đăng vào ngày 21 tháng 6 lúc 01:32
Nguồn mã HashMap trong JDK 1.8, Phân tích chi tiết phương thức put
Các biến trong HashMap
HashMap sử dụng một mảng các "thùng" (buckets) để lưu trữ dữ liệu. Mỗi thùng có thể chứa một hoặc nhiều phần tử. Dưới đây là các biến quan trọng định nghĩa cấu trúc và hành vi của HashMap:
DEFAULT_INITIAL_CAPACITY: Dung lượng ban đầu mặc định của mảng, luôn là lũy thừa của 2 (16).
MAXIMUM_CAPACITY: Dung lượng tối đa mà ...
Đăng vào ngày 20 tháng 6 lúc 22:24
Xây dựng hệ thống I/O không đồng bộ với Java NIO
Java NIO (Non-blocking I/O) cung cấp một mô hình lập trình hiệu quả hơn so với I/O truyền thống bằng cách sử dụng các thành phần như Channel, Buffer, và Selector để quản lý đa kết nối trên cùng một luồng thực thi.
Triển khai Server không chặn
Để xây dựng một máy chủ xử lý nhiều kết nối cùng lúc, chúng ta sử dụng Selector để theo dõi các sự kiệ ...
Đăng vào ngày 20 tháng 6 lúc 01:55
Tích hợp Spring Boot với Thymeleaf - Ví dụ thực tế: Quản lý sách! Rất chi tiết!
Giới thiệu tổng quan
1. Cấu trúc dự án
Hình 1-1
2. Cấu hình dự án
IntelliJ IDEA 2024.3.3
Spring Boot 3.4.3
JDK 17
I. Cấu hình tích hợp Thymeleaf
Có 2 cách để thêm thư viện Thymeleaf vào dự án Spring Boot:
Qua Spring Initializr: Chọn tùy chọn Thymeleaf trong giao diện chọn dependency
Hình 2-1
Qua Maven: Thêm đoạn mã sau vào file pom.xml ...
Đăng vào ngày 19 tháng 6 lúc 23:38
Phát triển ứng dụng tìm việc làm thêm cho sinh viên sử dụng Spring Boot, Vue.js và UniApp
Trong bối cảnh nhu cầu tìm kiếm việc làm bán thời gian của sinh viên ngày càng tăng, việc xây dựng một nền tảng kết nối hiệu quả giữa nhà tuyển dụng và người lao động trẻ là vô cùng cần thiết. Hệ thống được phát triển dựa trên kiến trúc hiện đại, kết hợp giữa sức mạnh xử lý phía server của Spring Boot và tính linh hoạt của Vue.js cùng UniApp ch ...
Đăng vào ngày 19 tháng 6 lúc 23:14
Đặc điểm và Cơ chế Hoạt động của Java và JVM
Đặc điểm Ngôn ngữ Java
Java hỗ trợ lập trình hướng đối tượng với ba nguyên lý: đóng gói, kế thừa và đa hình. Tính độc lập nền tảng đạt được thông qua máy ảo JVM, còn độ tin cậy được đảm bảo bằng cơ chế quản lý ngoại lệ và tự động giải phóng bộ nhớ. Tệp mã nguồn .java được biên dịch thành bytecode .class, sau đó JVM tải và thực thi từng dòng lệ ...
Đăng vào ngày 19 tháng 6 lúc 21:21
Xử lý và chỉnh sửa tệp Excel bằng Java POI
Để sử dụng Apache POI, cần thêm các thư viện sau vào dự án:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-oo ...
Đăng vào ngày 19 tháng 6 lúc 20:11