面向新用户,从一个简单的使用内存数据库的例子开始,本章提供对 Hibernate 的逐步介绍。本 教程基于 Michael Gloegl 早期编写的手册。所有代码都包含在 tutorials/web 目录下。
Hibernate 是处于开发中的持久层框架,他是一个 ORM 映射工具(Object/RelationMapping,对象-关系映射,就是通过将 Java 对象映射到数据库表,通过操作 Java 对象,就 可以完成对数据表的操作)。是轻量级 JavaEE 应用的持久层解决方案。
如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。 MyBatis 使用简单的 XML 或 注解 来配置和映射,将 接口 和 Java 的 POJOs(Plain Old Java Objects, 普通的 Java对象)映射成数据库中的记录
MyBatis 是一个支持自定义SQL,存储过程及高级映射的经典持久化框架。MyBatis消除了几乎全部JDBC代码及返回结果集和参数的手工设置。MyBatis能使用简单的XML或者注解为配置及原始映射、接口映射及JAVA POJOS(Plain Old JAVA Objects)到数据库记录。
MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。
根据官方的说法,在ibatis3,也就是Mybatis3问世之前,Spring3的开发工作就已经完成了,所以Spring3中还是没有对Mybatis3的支持。因此由Mybatis社区自己开发了一个Mybatis-Spring用来满足Mybatis用户整合Spring的需求。下面就将通过Mybatis-Spring来整合Mybatis跟Spring的用法做一个简单的介绍。
曾经用过ibatis,这是mybatis的前身,当时在做项目时,感觉很不错,比hibernate灵活。性能也比hibernate好。而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此重新温习了一下mybatis,因此就有了这个系列的mybatis教程.
在hibernate中一对多关联时会经常用到inverse和cascade属性
对象/关系映射ORM(Object-RelationMapping)是用于将对象与对象之间的关系对应到数据库表与表之间的关系的一种模式。简单地说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。对象和关系数据是业务实现的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在着关联和继承关系。而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,ORM系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。一般的ORM包括四个部分:对持久类对象进行CRUD操作的API、用来规定类和类属性相关查询的语言或API、规定mappingmetadata的工具,以及可以让ORM实现同事务对象一起进行dirtychecking、lazyassociationfetching和其他优化操作的技术。
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。