摘自久久学院
摘自久久学院
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 进行, 数据库字段越多, 越能体现这个类的优点.