标签:技术 自动提交 group 面向对象 建立 upd 代码 3.0 数据
对象-关系映射(Object Relational Mapping)
把对象模型表示的对象映射到基于SQL的关系模型数据结构中去
操作实体对象的时候,不需要和复杂的sql语句打交道,只需要简单的操作实体对象的属性和方法
主流的ORM框架是Hibernate,iBatis,JPA...
官网链接:http://hibernate.org/
易百教程:http://www.yiibai.com/hibernate/
参考博客:http://blog.csdn.net/dawanganban/article/details/13748235
Hbernate是一个开放源代码的对象关系映射框架(ORM)
对JDBC进行了非常轻量级的对象封装(消耗资源少)
将pojo与数据库表建立映射关系,是一个全自动的ORM框架
Hibernate可以自动生成SQL语句,自动执行
Hibernate可以应用在任何使用JDBC的场合,即可以在Java的客户端程序使用,也可以在Servlet/Jsp的Web应用中使用
具有数据库兼容性
MyBatis映射的是Dao层,映射文件只写SQL语句即可
Hibernate映射的是pojo层,直接将表映射成对象
1 映射类文件:pojo
2 主配置文件:
用于描述数据库连接信息,数据库方言,关联映射文件
命名规则:Hibernate.cfg.xml 或者 hibernate.properties
位置:源码目录的根目录(Maven项目放在resources目录下)(配置文件的头部可以参考jar包)
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
3 映射描述文件:
用于描述映射类及属性与DB表的字段之间的对应关系
命名规则:实体类名.hbm.xml
位置:和实体类在同一目录下(配置文件的头部可以参考jar包)
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
4 主要API
Configration:主要用于加载主配置文件,获取数据库连接
SessionFactory:用于创建session对象,封装了映射信息以及预定义的SQL
Session:用于对象操作,完成CRUD操作
Transaction:用于事务的处理,进行CRUD时要注意,因为Hibernate自动提交事务是关闭的
Query:用于执行HQL查询语句(HQL属于面向对象的查询,语句中没有表名和字段名)
<dependencies> <!-- hibernate --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version> </dependency> <!-- MySql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.32</version> </dependency> </dependencies>
必须将property标签放在mapping节点前:<原因未知,,,欢迎补充>
<!-- 可选配置 -->
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- mapping文件 -->
<mapping resource="com/roxy/hibernate/pojo/Customer.hbm.xml"/>
标签:技术 自动提交 group 面向对象 建立 upd 代码 3.0 数据
原文地址:http://www.cnblogs.com/roxy/p/7607954.html