简单了解ORM
- ORM全称 Object Relational Mapping 对象-关系映射
去除和繁杂的SQL语句打交道,简单的操作实体类对象的属性和方法,是对象型数据和关系型数据的
一个桥梁。
简单了解Hibernate
- 它位于持久层
- 连接Java 程序 以及 web程序 和关系型数据库的框架
- 建立对象模型和关系模型 两者之间的关系映射
- 是一种自动化ORM框架
- 是JDBC 一种轻量级封装的框架
- 增强代码重用性,提升编程效率
- 需要导入相应的 jar 包
Hibernate配置文件(hibernate.cfg.xml)
<hibernate-configuration> </hibernate-configuration> 和 <session-factory></session-factory>
标签<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
这个代表的是使用SQL的方言<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/MyDB</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
以上四条为数据库驱动等基本连接步骤<mapping resource="com/hibernate/entity/Customer.hbm.xml"/>
这表示Hibernate会去识别Customer这个实体类,其他类的配置同理
持久化类配置
- 例 : Customer.hbm.xml 用于映射Customer类对应数据库中的customer表
<hibernate-mapping> </hibernate-mapping>
标签<class name="Customer" table="CUSTOMER">
表示类Customer对应表customer
<id name="id" column="id">
<generator class="native">
</generator>
</id>
- 表示属性id , 映射表里的字段id
<generator class="native">
意味着id的自增长方式采用数据库的本地方式 - 注意一点
<property name="name" />
这里进行配置的时候,如果只写了属性name,没有通过column=“name” 显式的指定字段,
那么字段的名字也是name.
Hibernate的基本步骤
- 获取SessionFactory
- 通过SessionFactory 获取一个Session
- 在Session基础上开启一个事务
- 通过调用Session的save方法把对象保存到数据库
- 提交事务
- 关闭Session
- 关闭SessionFactory