Persistence4J - 小型Java持久层框架


LGPL
跨平台
Java

软件简介

persistence4j 是一个小型、轻量级的 Java 对象持久层类库,实现关系数据库和 Java 对象之间的持久化。

示例代码:

//First lets create a simple pojo which you like to persist.  
@Entity(table="book")  
public class Book{  
@Column(isPrimaryKey=true)  
private String isbn;  
@Column  
private String title;  
@Column  
private int authorid;  
public Book(){

}  
public Book(String isbn, String title, int authorid){  
  this.isbn = isbn;  
  this.title = title;  
  this.authorid = authorid;  
}  
// getters  
}

DataProviderFactory dataProviderFactory = new DataProviderFactoryImpl(config);  
String databaseName = "library";  
String dbmsName = "mysql"  
boolean isTransactional = false;  
DataProvider dataProvider =  dataProviderFactory.getDataProvider(databaseName, dbmsName, isTransactional);

// Now lets create a object of Book class and persist it  
Book book = new Book("123432","TestBook",5);  
TransferUtil.registerClass(Book.class, database);  
GenericDAO<Book> genericDAO = new GenericDaoImpl<Book>(dataProvider.getDataFetcher());

//Persist Book  
genericDAO.createEntity(book);

//Remove Book  
genericDAO.deleteEntity(book);

//Test if Entity Exists  
genericDAO.isEntityExists(book);

// findByPrimaryKey  
Object obj[] = new Object[1];  
obj[0] = "123432";  
genericDAO.findByPrimaryKey(Book.class, obj);

//If you want to use transactions.This how to get TransactionService.Make sure //isTransactional variable should be true and underlying dbms supports ACID.  
TransactionService ts = dataProvider.getTransactionService();  
try{  
    ts.beginTransaction();  
    genericDAO.createEntity(book);  
    ts.commitTransaction();  
}catch(Exception exp){  
ts.rollbackTransaction();  
}