简介:
persistence4j 是一个小型、轻量级的 Java 对象持久层类库,实现关系数据库和 Java 对象之间的持久化。要JDK1.6 以上版本
实例:
//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();
}