Persistence4J小型Java持久层框架

联合创作 · 2023-09-30 03:31

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();
}
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报