【Hibernate】(一)入门及原理
来源:互联网 发布:安徽中港金融数据诈骗 编辑:程序博客网 时间:2024/05/21 14:06
(一)简介
Hibernate是一个开源的轻量级的框架。没有Hibernate之前,我们是直接使用sql语句对数据库进行操作。直接对数据库操作,已经不符合我们面向对象的思想了。于是ORM就应运而生了。
什么是ORM?Object Relational Mapping。对象关系映射。就是让实体类和数据库表进行一一对应,实体类里面的属性和数据库表里的字段对应,我们不需要直接操作数据库,而通过操作表对应的实体类即可完成对数据库的操作。
(二)搭建环境
一、引入jar包
二、创建一个实体类,以User为例。
使用Hibernate时,我们不需要自己手动创建表,经过一定的配置,Hibernate会自动把表创建。
三、配置实体类和数据库的映射关系。以User类为例,我们需要创建User.hbm.xml文件
引入约束
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping><!--1.配置类和表对应:class标签:name表示实体类(User)的全路径,table表示数据库表名称 --><class name="cn.itcast.shop.user.vo.User" table="user"><!-- 2.配置实体类属性和表字段一致id标签:name是实体类的id名称;column是表字段名称property标签:name是实体类的属性名称;column是表字段名称 --><id name="uid"><generator class="native"/></id><property name="username" column="username"/><property name="password" column="username"/></class></hibernate-mapping>
四、创建Hibernate的核心配置文件
Hibernate的核心配置文件的名称和位置必须固定。名称必须为hibernate.cfg.xml,必须放在src文件下
引入约束
(1)配置数据库连接信息:数据库驱动类型,和数据库的连接信息等
<!-- 1.数据库连接信息 --><property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property><property name="connection.url">jdbc:mysql:///itcastoa0720</property><property name="connection.driver_class">com.jdbc.mysql.Driver</property><property name="connection.username">root</property><property name="connection.password">123456</property>
(2)配置Hibernate的一些可选信息。
<!--在控制台输出执行的sql语句--><property name="show_sql">true</property><!--配置自动生成数据库表--><property name="hbm2ddl.auto">update</property>
(3)加载.hbm.xml映射文件。因为Hibernate执行过程之后,只会默认加载Hibernate的核心配置文件。
<!-- 3.声明导入映射文件 --><mapping resource="cn/itcast/oa/domain/Role.hbm.xml" />
这样。Hibernate的搭建环境就完成了。
(三)测试
下面我们写一个单元测试方法测试一下。
值得一提的是:数据库表自动创建是在sessionFactory创建时发生的。
接下来我们会进行三大框架整合。事务管理和sessionFactory的创建都会交给spring来完成。这样就大大减少了我们的代码量,也会提高我们的效率。
0 0
- 【Hibernate】(一)入门及原理
- 【Spring】(一)Spring入门及原理
- 【Hibernate一】概述及入门
- Hibernate (一)hibernate入门
- Hibernate--入门(一)
- Hibernate入门(一)
- hibernate入门(一)
- Hibernate入门(一)
- Hibernate入门(一)
- Hibernate原理解析(一)
- Hibernate基础原理(一)
- 【Hibernate】一、Hibernate框架介绍及入门程序示例
- Hibernate入门应用(一)
- Hibernate入门学习(一)
- hibernate入门实例(一)
- Hibernate入门(一)HelloWorld
- 【Hibernate】(一)快速入门
- hibernate入门学习(一)
- ifconfig: command not found(CentOS专版,其他的可以参考)
- 带你玩转Visual Studio——带你理解多字节编码与Unicode码
- DOM拷贝clone()
- Meta http-equiv属性详解(转)
- iOS开发之KVO与KVC解析与实战
- 【Hibernate】(一)入门及原理
- 【架构师之路】-【01设计模式】-07设计原则之开闭原则
- android权限
- java基础学习IO流之其它流 十一 -6
- Swagger与SpringBoot的整合
- ubuntu 安装thrift
- C++ STL算法transform
- Android studio ignore 的文件
- skynet资源收集