11.4日

sword_kong發表於2024-11-04

javaBean是一種符合特定規範的Java類,主要用於封裝資料(即屬性)以及對這些資料的操作(即方法)。JavaBean的設計目的是為了提高程式碼的可重用性和可維護性。要建立一個有效的JavaBean,你需要遵循一些基本規則:

公共類:JavaBean類通常是公共的(public),這意味著它可以被其他類訪問。

無參建構函式:JavaBean類必須有一個無引數的公共建構函式,以便例項化物件時不需要傳遞引數。

私有成員變數:JavaBean內部的資料(屬性)通常定義為私有的,以確保資料的安全性。

公共的getter和setter方法:對於每個私有成員變數,JavaBean應該提供公共的getter(用於獲取值)和setter(用於設定值)方法,這被稱為JavaBean的封裝特性。

public class Person {
// 私有成員變數
private String name;
private int age;

// 無參建構函式
public Person() {
    // 建構函式主體為空
}

// Getter 方法
public String getName() {
    return this.name;
}

// Setter 方法
public void setName(String name) {
    this.name = name;
}

// Getter 方法
public int getAge() {
    return this.age;
}

// Setter 方法
public void setAge(int age) {
    this.age = age;
}

}
這樣做的好處是外部可以直接透過呼叫setName()和getName()方法來修改或獲取name的值,而不需要直接操作name本身,從而保護了資料的安全性和完整性。同樣地,也可以透過setAge()和getAge()方法來操作age屬性。
MyBatis 是一個優秀的持久層框架,它支援定製化 SQL、儲存過程以及高階對映。MyBatis 避免了幾乎所有的 JDBC 程式碼和手動設定引數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解進行配置和原始對映,將介面和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 物件)對映成資料庫中的記錄。

MyBatis 的主要特點
SQL 對映檔案:MyBatis 使用 XML 檔案或者註解來配置 SQL 對映,這使得開發者可以靈活地編寫 SQL 語句,而不必擔心框架的限制。

自動對映:MyBatis 可以根據資料庫欄位和 Java 物件屬性的匹配關係自動進行物件的填充和結果的提取。

快取機制:MyBatis 提供了兩級快取機制,一級快取在 SqlSession 中,二級快取可以在多個 SqlSession 間共享。

動態 SQL:MyBatis 支援動態 SQL,可以根據不同的條件生成不同的 SQL 語句,非常方便處理複雜的查詢需求。

事務管理:MyBatis 可以整合到 Spring 框架中,利用 Spring 的事務管理功能,簡化事務處理。

外掛機制:MyBatis 提供外掛機制,允許開發者自定義攔截器,實現功能增強或擴充套件。

基本使用步驟
引入依賴:首先需要在專案中引入 MyBatis 的相關依賴。

org.mybatis mybatis 3.5.7 配置檔案:配置 MyBatis 的全域性配置檔案 mybatis-config.xml。 Copy Mapper 檔案:定義 SQL 對映檔案 UserMapper.xml。 編寫 Java 程式碼執行 SQL 查詢。

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;

public class MyBatisExample {
public static void main(String[] args) {
try {
// 讀取配置檔案
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

        // 獲取 SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();

        // 呼叫對映檔案中的 SQL
        User user = sqlSession.selectOne("com.example.mapper.UserMapper.selectUserById", 1);
        System.out.println(user);

        // 關閉 SqlSession
        sqlSession.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

}