阅读更多

13顶
3踩

编程语言

原创新闻 Persistence4j 1.1发布,Java ORM框架

2010-09-07 16:39 by 副主编 just_cool 评论(29) 有10535人浏览

近日,Persistence4j 1.1版本发布了,它是一个小型、轻量级的 Java 对象持久层类库,实现关系数据库和 Java 对象之间的持久化。此版本主要是对bug的修复,点击查看更新详情:http://code.google.com/p/persistence4j/

 

Persistence4j的目标就是开发一款操作简单使用方便的Java ORM框架,秉承这一设计理念设计出的Persistence4j拥有及其简单的配置,其语法基于JDK 1.6中的注释,使用起来十分方便。

 

 

示例代码:

//First lets create a simple pojo which you like to persist.
@Entity(schema="library",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);
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();
}

// Check the GenericDAO interface for all the available methods..
You can extend GenericDAOImpl and override the methods and add your own methods.
13
3
评论 共 29 条 请登录后发表评论
29 楼 mimang2007110 2010-09-16 09:07
还真是没有用过这个框架,一直用的都是hibernate框架,了解一下
28 楼 caoyangx 2010-09-09 21:38
zxc005 写道
看了这么多还是感觉这个酷:http://code.google.com/p/siena/wiki/QuickStart

看了一下入门教程,说实话,这种实体继承数据操作的方法我不敢苟同,实体bean应该保持初期的作用,这样灵活性也很差,更容易产生意外的麻烦。
27 楼 caoyangx 2010-09-09 21:35
allskylove 写道
明白的人 一看就知道是一个业余水平的,没有入门级别的人写的框架。哈哈!哎,说句实话,别丢人了! 我敢说,作者本人都不知道为什么要写这个东西,这个东西有什么优势!

只能说你太不了解作者,这个框架已经很久了,你不会用,不代表别人不用。
26 楼 ideal46 2010-09-09 09:16
好多的新东西,wow
25 楼 wendal 2010-09-09 08:22
恩,又看到新的东西,哈哈!!
研究研究再发表评论,单单看简介/示例,并不能反映其全貌.
24 楼 vcok 2010-09-09 01:59
不论如何,作者的探索精神值得学习.毕竟不是每个人都能写的.我相信那些冷嘲热讽的人没有一个能写得出来.
23 楼 lyqiang 2010-09-08 21:57
框架不在于多,在于有个标准
22 楼 ray_linn 2010-09-08 18:55
感觉不就是microsoft的entity framework么。。
21 楼 keating 2010-09-08 15:18
我一直叫注解或者标注,从来不叫注释,太容易混了...
20 楼 keating 2010-09-08 15:17
zdmcjm 写道
看到用java代码操作的持久层,看到xxxDao,看到getXXX setXXX就想吐。

没人逼你写xxxDao,getXXX setXXX
19 楼 zxc005 2010-09-08 14:50
看了这么多还是感觉这个酷:http://code.google.com/p/siena/wiki/QuickStart
18 楼 zxc005 2010-09-08 14:15
看了这么多还是感觉这个酷:

http://code.google.com/p/siena/wiki/QuickStart
17 楼 kjj 2010-09-08 12:58
看起来一般般,特点在哪里,没有不同于hibernate
等的地方!!
16 楼 zdmcjm 2010-09-08 12:01
看到用java代码操作的持久层,看到xxxDao,看到getXXX setXXX就想吐。
15 楼 aninfeel 2010-09-08 10:48
算了,还是老老实实用jpa
14 楼 http4j 2010-09-08 10:29
不错,值得鼓励,毕竟基于JDK1.6的东西。JPA的支持和增强还是关键。另外这个project的主页似乎太简单了,就一个sample, 其他什么都没有。至少应该有一个diff, 去对比一下hibernate, toplink等等这些的不同, 人家为什么要使用你。既然1.1版, 还是有必要有些文档和tutorial的工作。
13 楼 benqend 2010-09-08 09:57
java 越来越悲哀
  泛而不精,多而不强

以后的java开发难倒要用大部分的时间在配置上?
12 楼 _j_ 2010-09-08 09:50
"其语法急于JDK 1.6中的注释使用起来十分方便"


基于

11 楼 kingwood2005 2010-09-08 09:50
学了英文,忘了中文
10 楼 pxlfxl2 2010-09-08 09:46
是注解吧,注释是啥?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Java框架之ORM

    本文看下Java操作数据库相关的内容。

  • 常见java面试遇到的ORM框架理解

    好在我们不需要重复的造轮子,目前已经有很多优秀的ORM框架可供使用了,常见的比如Hibernate, Mybatis,TopLink等,JAVA EE3.0规范中提出的JPA,同样也是十分的好用,所以有时面试官也会问一下些和这个相关的面试题,...

  • 常见ORM框架理解

    好在我们不需要重复的造轮子,目前已经有很多优秀的ORM框架可供使用了,常见的比如Hibernate, Mybatis,TopLink等,JAVA EE3.0规范中提出的JPA,同样也是十分的好用,所以有时面试官也会问一下些和这个相关的面试题,...

  • ORM框架之Spring Data JPA(一)Hibernate实现JPA规范

    一、ORM简述 ORM(Object-Relational Mapping) 表示对象关系映射。在面向对象的软件开发中,通过ORM,就可以把对象映射到关系型数据库中。只要有一套程序能够做到建立对象与数据库的关联,操作对象就可以直接操作...

  • JPA(Java Persistence API,Java持久化API)从入门到精通

    # 1.JPA和Hibernate的关系 1.1 JPA的供应商 1.2 JPA的优势 1.3 JPA 包含三方面的技术 ...2.1 使用JPA持久化对象的步骤 ...------需要指定 JPA 使用哪个持久化的框架以及配置该框架的基本属性 2.2创建实体...

  • ORM框架之Spring Data JPA(三)高级查询---复杂查询

    1.1Specifications动态查询 有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询。相比JPQL,其优势是类型安全,...

  • ORM框架之Mybatis(六)mybatis通用mapper

    1.1 官方介绍:(官网:https://mapperhelper.github.io/docs/) 通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法。 极其方便的使用MyBatis单表的...

  • ORM框架的发展历史与MyBatis的高级应用

    ORM( Object Relational Mapping) ,也就是对象与关系的映射,对象是程序里面的对象,关系是它与数据库里面的数据的关系,也就是说,ORM框架帮助我们解决的问题是程序对象和关系型数据库的相互映射的问题O:对象M:...

  • ORM思想及Hibernate和Mybatis框架实现原理

    1、ORM思想(Object Relational Mapping) 目前,通过Java语言连接并操作数据库的技术或方式已经有很多了,例如:JDBC,Hibernate,MyBatis,TopLink等等。其中JDBC是Java原生的API,支持连接并操作各种关系型...

  • 使用ORM操作SQL数据库(JPA、Mybatis)

    JDBC操作每次都需要进行数据库连接,然后处理SQL语句、传值、关闭数据库。为了减少繁琐的步骤,减少开发人员的工作量,于是出现了...JDBC(Java DataBase Connectivity):用于执行数据库SQL语句的Java API。

  • JPA初识(ORM思想、JPA的基本操作)

    常见的orm框架:Mybatis(ibatis)、Hibernate、JpaJPA不干活,真正干活的是依托于这个规范的实现,例如hibernate,toplink。JPA使用规范语言提供的接口和抽象类来进行编程不同的表存储在不同的数据库当中就需要用到...

  • 基于JAVA SSM框架的酒店客房管理系统设计

    4 2.2.2 JSP技术与MVC模式以及系统的基本框架... 5 2.2.3 SSH框架... 5 2.3 本章小结... 8 3 系统概要设计... 9 3.1 总体功能模块... 10 3.2 系统管理员的功能模块... 10 3.3 用户功能模块... 11 3.4 系统...

  • ORM框架之Spring Data JPA(二)spring data jpa方式的基础增删改查

    上一篇主要在介绍hibernate实现jpa规范,如何实现数据增删改查,这一篇将会着重spring data jpa 一、Spring Data JPA 1.1Spring Data JPA介绍: ...Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的...

  • java主流_Java 主流框架

    1.基础框架1.1 后台基础框架分布式:dubbox统一配置:zookeeper消息:kafka服务化:springspring boot 微服务化框架spring mvcspringframework持久层(ORM):mybatis、hibernate、jedis项目构建:maven单元测试:...

  • Java常用开源框架

      JAVA中间件:包括服务框架中间件:解决集群间的访问通信问题。消息中间件:解决应用之间的消息传递、解耦、异步的问题。数据访问中间件:解决应用访问数据库的共性问题。   分布式系统:一定是有多个节点...

  • ORM与JPA基本用法

    ORM简介1.1 什么是ORM1.2 使用ORM的好处1.3 常见ORM框架2. Hibernate和JPA2.1 什么是Hibernate2.2 什么是JPA2.3 JPA和Hibernate的关系3. JPA入门3.1 demo3.2 常用注解3.3 主键自增策略3.4 基本操作CRUD4. JPQL4.1 ...

  • Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门

    本章将涵盖以下话题: ž MyBatis是什么?... MyBatis是一个简化和实现了Java数据持久化层(persistencelayer)的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。  MyBat

  • Spring Boot(7)之 用 ORM 操作 SQL 数据库

    1.1、认识 JDBCTemplate 1.1.2、了解 JDBC JDBC(Java Database Connectivity),它是 Java 用于连接数据库的规范,也就是用于执行数据库 SQL 语句的 Java API。 JDBC 可以连接多种数据库,原因在于提供了统一访问的...

  • 基于yolov3结合卡尔曼滤波匈牙利算法虚拟线圈的车流量检测python源码+项目说明.zip

    本项目专注于视频基的车辆跟踪与流量统计,依托深度学习技术,实时追踪路面车辆动态并精准统计各车道车流量。该项目通过以下核心步骤高效处理输入视频数据: 高精度目标检测:采用YOLOv3模型,凭借其卓越的实时性与准确性,快速识别视频中的车辆目标,为后续追踪奠定坚实基础。 稳定目标追踪:集成SORT(Simple Online and Realtime Tracking)算法,结合卡尔曼滤波器预测车辆未来位置,同时运用匈牙利算法优化目标间的匹配,实现连续、稳定的车辆追踪,有效应对遮挡、交叉等复杂场景。 智能车流量统计:借鉴虚拟线圈概念,巧妙设计算法以监测穿越预设区域的车辆,自动计数并准确统计各车道车流量,为交通管理与分析提供可靠数据支持。 整体而言,本项目通过融合先进的目标检测与追踪技术,结合创新的流量统计方法,构建了一个高效、精准的实时车辆跟踪与流量统计系统,为智慧交通领域的发展贡献力量。

Global site tag (gtag.js) - Google Analytics