bin.jar
保存对象
在本章中,我们将演示一个案例介绍如何利用 BeanKeeper 将员工 (Employee) 信息持久化到 MySQL 数据库中。首先从 CSV 文件中一条条读出员 工信息,然后将这些信息生成一个 EmployeeBean 对象,然后将 EmployeeBean 对象持久化。
首先我们需要定义一个“类似 JavaBean”类,那么“类似 JavaBean”是什 么意思呢?真正的 JavaBeans 是一些可视组件,可以在开发环境中配置它们以 便在 GUI 布局中使用。一些用真正的 JavaBeans 开始的惯例在 Java 社区中已 经变得非常普及,尤其是对于数据类。如果一个类遵守下列惯例,我就称其为“ 类似 JavaBean”:
该类是公共的
它定义了一个公共的缺省(无参数)构造函数
它定义了公共的 getX 和 setX 方法用来访问属性(数据)值
既然技术上的定义不成问题,在谈及这些“类似 JavaBean”类的其中一个时 ,我将跳过所有这些,并只称呼它为“bean”类。
如下表所示,我们定义了一个 EmployeeBean 类,类中包含员工 id,姓名, 年龄,入职年月信息。
清单 1. EmployeeBean 类
package cn.ac.iscas.beankeeper.sample;
import java.util.Date;
public class EmployeeBean {
String id;
String name;
int age;
Date onBoardTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Date getOnBoardTime() {
return onBoardTime;
}
public void setOnBoardTime(Date onBoardTime) {
this.onBoardTime = onBoardTime;
}
}
借助BeanKeeper快速实现对象持久化(3)
时间:2010-11-20 IBM 罗后启
接下来存储 EmployeeBean 对象到数据库中。首先从 CSV 文件中一条条读出 员工信息,然后将这些信息生成一个 EmployeeBean 对象,最后将 EmployeeBean 对象持久化到数据库。
清单 2. 保存 EmployeeBean 对象代码
package cn.ac.iscas.beankeeper.sample;
import hu.netmind.persistence.Store;
import java.io.File;
import java.sql.Date;
import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class EmployeeSave {
private static Log log;
/**
* @param args
*/
public static void main(String[] args) {
System.setProperty("log4j.configuration", "file:log4j.xml");
log = LogFactory.getLog(EmployeeBean.class);
try {
String csvFile = args[0];
// open store, uses MySQL driver
Store store = new Store ("org.gjt.mm.mysql.Driver",
"jdbc:mysql://localhost:3306/lhq?user=root&password=sa");
// read csv and generate beans
List historicalData = FileUtils.readLines(new File(csvFile));
// remove first line (header)
|