Bean 和 JDBC 的簡單持久化工具 1.0
下載地址: http://www.chinajavaworld.com/non-cgi/usr/2/2_17866.zip
安裝和使用: 在 Windows 下配置 sql 目錄下的 bean_test.mdb 到 ODBC 數據源, 名稱為 beantest. 您也可以修改 ConnectionFactory 里面的連接字串打開其它連接, 數據庫的創建請參考 bean_test_access.sql. 本程序需要 JDBC 2.0 和 JDK 1.3 以上版本. Bean 和 JDBC 的簡單持久化工具, 本工具將 Bean 的屬性表示和數據庫的持久化相分離. 僅僅實現了單個對象的以及數據庫支持的簡單 Java 對象的持久化, 包括 CRUD 四個操作, 即 Create(創建), Read(讀取), Update(更新), Delete(刪除). 分別可以通過調用 BeanJdbcPersistence 類中的 createBean(), readBean(), updateBean() 和 deleteBean() 來完成. 需要提供兩個文件: Bean 類文件和 Bean類名.properties, 詳情請參考 Bean1 的實現以及 studio.beansoft.bean.BeanPropertyLoader 中的注釋. 未實現一對一和多對多映射. 示例代碼請參考 studio.beansoft.bean.Bean1 和 Bean1.properties 文件.
Email: beansoftstudio@yahoo.com.cn QQ: 9991483 MSN: beansoftstudio@msn.com
使用方法說明: 1. 先編寫一個有 id 屬性的 Bean; package studio.beansoft.bean;
import studio.beansoft.sql.*;
/** * <p>Title: 用來測試持久化的 Bean.</p> * <p>Description: 該 Bean 最少要有一個 id 屬性, 類型為 int 和一個其他屬性. * 數據庫信息配置文件: Bean1.properties</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * @author 劉長炯 * @version 1.0 */
public class Bean1 { // --- Bean 屬性, 必須設置 getter 和 setter --- private String name = "Sample"; private int id; private boolean deleted;
// --- 私有對象, 不要設置 getter 和 setter --- // Bean 和 JDBC 的簡單持久化工具 private BeanJdbcPersistence persistence = new BeanJdbcPersistence();
public Bean1() { }
/** * 將當前對象的值插入到數據庫中并獲取相應的數據庫 ID * @return int - 插入行數 */ public int create() { return persistence.createBean(); }
/** * 根據數據庫 ID 讀取對應列的數據到 Bean 中 */ public void read() { persistence.readBean(); }
/** * 更新 Bean 值到數據庫中. * * @return int - 插入行數 */ public int update() { return persistence.updateBean(); }
/** * 從數據庫中刪除 Bean 記錄. * * @return int - 刪除行數 */ public int delete() { return persistence.deleteBean(); }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public boolean isDeleted() { return deleted; }
public void setDeleted(boolean deleted) { this.deleted = deleted; }
public static void main(String[] args) { Bean1 bean11 = new Bean1(); Bean1 p = new Bean1(); p.setId(1); //p.create(); p.read();
System.out.println(p.getName()); System.out.println(p.isDeleted()); } }
2. 創建數據庫配置屬性文件 Bean1.properties, 存放在 Bean 所在目錄下 # 這個文件演示了如何進行持久化映射文件的配置, # 這是一個按照 java.util.Properties 類規定的標準編寫的屬性文件, 以 # 開始的行為注釋 # Copyright (c) 2004 BeanSoft Studio All rights reserved.
# 第一部分, 指定 Bean 在數據庫中存儲的表格名, 可選 .tablename = test_bean
# 第二部分, 指定每個 Bean 屬性和數據庫表格字段的映射, 每個屬性都是可選的, 如果不指定, # 則默認按照屬性名處理 id = id_column deleted = deleted_column name = name_column
3. 在數據庫中創建相應的表格
CREATE TABLE test_bean ( id_column COUNTER (1, 1) NOT NULL , name_column varchar(50) NULL, deleted_column bit NULL )
4. 如果有必要, 請修改 ConnectionFactory 中的獲取數據庫連接的方法;
5. OK, 調用 Bean 的 create(), 就向數據庫中插入一條記錄并讀取 id 值保存起來, 調用 read(), 就根據 id 值從數據庫中讀取數據并保存到 bean 的變量中去, 調用 update(), 就將 bean 的屬性值更新到數據庫中去(根據 id 確定要更新的記錄), 調用 delete(), 就從數據庫中刪除此記錄.
一切的核心圍繞著 id 進行, 數據庫字段越多, 越能體現這個類的優點. |