EJP是一个强大并且易于使用的关系数据库持久化Java API。EJP的主要特性包括: 1、对象/关系(object/relational)自动映射(A-O/RM) 2、自动处理所有关联 3、自动持久化跟踪 EJP不需要映射注释或XML配置,并且不需要继承任何类或实现任何接口。EJP只用到了Plain Old Java Objects (POJOs)对象。到目前为止,EJP是Java开源中最简单的
一个很小(少于50kB)持久层框架
MyBatis 世界上流行最广泛的SQL 映射框架,由Clinton Begin 在2002 年创建,其后,捐献给了Apache 基金会,成立了iBatis 项目。2010 年5 月,将代码库迁致Google Code,并更名为MyBatis。 MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC 代码、手工设置参数和结果集重获。MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、 Map 接口和POJO 到数据库记录。
MyBatis 是支持普通 SQL查询,存储过程等一个轻量级的ORM中间件 。MyBatis 使用简单的 XML 或注解方式,用于配置和原始映射,将接口和 Java 的POJOs(Plan Old Java Objects,普通的 Java对象)映射成数据库中的记录。
EJP是一个强大并且易于使用的关系数据库持久化Java API。
Easy Java Persistence 3.0 版本实现了基于集合的连接的延迟加载,提升了批量更新的性能。
spring3+mybatis整合
主要内容:1:通过非指定接口的方式实现CRUD。
Butterfly Persistence是一个简单,注重实效的Java持久层框架。它的特性包括:可自动或手动管理连接;通过提供类似于Spring的JDBC模板来简化JDBC操作;简单的对象/关系映射;支持多种映射方式(自动/注释/编程)。
Simple persistence是一个O/R映射框架。它使用简单,没有XML映射文件、不需要创建表格(将自动创建)、不用生成ID、不用理会关键字,只需把它指向数据库,就可以实现新增、修改、删除、查询操作。Simple persistence支持事务,有自己的简单查询语言(类似于Hibernate的HQL),并能够处理对象关联,lists和maps。
EJB作为企业级的数据访问/持久化标准在1999年作为J2EE规范的核心规范出现,极大的转变了java企业级开发的模式,为java软件开发提供了一个良好的架构。 EJB从1.0到2.1在J2EE架构中,都是作为一个服务器端的(Server side)的数据访问中间件。开发人员通过EJB标准的API接口来访问操作数据,避免直接用JDBC和Sql操作底层的数据库。从整个EJB规范的角度来说,EJB 3和EJB 2.1最大变更在Entity Bean持久化API上。在EJB3中,Entity Bean持久化已经单独作为一个Persistence API规范和其他的EJB部分分离开来。下面我们主要讨论EJB 3和EJB 2.1在持久化API上的区别。
MyBatis3整合Spring3、SpringMVC3
SqlSessionFactoryBean,这个配置比较关键。SqlSessionFactoryBean需要注入DataSource数据源,其次还要设置configLocation也就是mybatis的xml配置文件路径,完成一些关于mybatis的配置,如settings、mappers、plugin等; 如果使用mapperCannerConfigurer模式,需要设置扫描根路径也就是你的mybatis的mapper接口所在包路径;凡是markerInterface这个接口的子接口都参与到这个扫描,也就是说所有的mapper接口继承这个SqlMapper。 如果你不使用自己的transaction事务,就使用MapperScannerConfigurer来完成SqlSession的打开、关闭和事务的回滚操作。在此期间,出现数据库操作的如何异常都会被转换成DataAccessException,这个异常是一个抽象的类,继承RuntimeException;
在Spring3中使用MyBatis
MyBatis 3 整合Spring3和SpringMVC
Persistence4j是一个非常简单,轻便的持久层框架。映射关系采用Java注释实现。
persistence.js 是一个异步的JavaScript对象数据库映射(ORM)框架。拥有数据库无关的独立抽象层,可轻松支持新的数据库。该软件最开始是为浏览器设计的,利用HTML5的WebSQL数据库。而后 persistence.js 被扩展以便支持各种JavaScript 环境,包括服务器端的JavaScript环境,如node.js和RingoJS.
Persistence4j 是一个非常简单的类库,用于持久化数据至关系数据库中。它个类库可以不需要数据传输对象。只需创建一个POJO,然后利用这个类库简单的保存。这个类库还集成了Java transaction API。支持的数据库包括:Apache Derby ;H2 Database ;HSQLDB ;MySQL ;PostgreSQL。
EJP是一个强大并且易于使用的关系数据库持久化Java API。EJP不需要映射注释或XML配置,并且不需要继承任何类或实现任何接口。EJP只用到了Plain Old Java Objects (POJOs)对象。到目前为止,EJP是Java开源中最简单的持久化API。
每 一 个 MyBatis 的 应 用 程 序 都 以 一 个 SqlSessionFactory 对 象 的 实 例 为 核 心 。一般而言,在一个应用中,一个数据库只会对应一个SqlSessionFactory,所以一般我们都把SqlSessionFactory定义成单例模式,或通过Spring等进行注入。