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(); }