什么是hibernate框架
hibernate框架是应用在javaEE三层结构中dao层的框架。
hibernate的作用
hibernate为用户提供了封装好的类和方法,可直接在dao层中对数据库进行curd操作,不必再进行jdbc的代码实现, 也不需要再写SQL语句,hibernate的底层代码实现就是jdbc。
orm思想
orm(object relational mapping),对象关系映射,通过映射方法和配置文件将java中的实体类对象和数据库中的表一一对应,当我们需要对数据库进行操作时可直接操作实体类对象。
搭建hibernate环境
-
导入jar包
在java项目下建立lib文件夹,把jar包拉进去,并导入路径(build path)
-
创建实体类t_User
-
配置映射关系
创建xml格式的配置文件,文件的命名和位置没有具体要求,引入dtd约束,并配置映射关系。
<?xml version="1.0" encoding="UTF-8"?>
<!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属性:实体类全路径
table属性:数据库表名称
-->
<class name = "cn.zzuli.lhk.t_User" table = "t_User">
<!-- 2 配置实体类id和表id对应
hibernate要求实体类有一个属性唯一值
hibernate要求表有字段作为唯一值
-->
<!-- id标签
name属性:实体类里面id属性名称
column属性:生成的表字段名称
-->
<id name = "uid" column = "uid">
<!--设置数据库表id增长策略
native:生成表id值就是主键自动增长
-->
<generator class = "native"></generator>
</id>
<!-- 配置其他属性和表字段对应
name属性:实体类属性名称
column属性:生成表字段名称
-->
<property name = "username" column = "username"></property>
<property name = "gender" column = "gender"></property>
<property name = "age" column = "age"></property>
<property name = "address" column = "address"></property>
</hibernate-mapping>
- 创建hibernate的核心配置文件
核心配置文件格式xml,但是核心配置文件名称和位置固定的。
- 位置:必须src下面
- 名称:必须hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<!-- 配置数据库信息 -->
<hibernate-configuration>
<session-factory>
<!-- jdbc启动文件 -->
<property name = "hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 对应的数据库名称 -->
<property name = "hibernate.connection.url">jdbc:mysql:///workspace</property>
<!-- 数据库用户名 -->
<property name = "hibernate.connection.username">root</property>
<!-- 密码 -->
<property name = "hibernate.connection.password">123</property>
<!-- hibernate 格式信息 可选的 -->
<!-- 输出底层的sql语句 -->
<property name = "hibernate.show_sql">true</property>
<!-- 输出底层sql语句的格式 -->
<property name = "hibernate.format_sql">true</property>
<!-- 自动查询表 没有自动创建 -->
<property name = "hibernate.hbm2ddl.auto">update</property>
<!-- 配置sql方言 -->
<property name = "hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 把映射文件放到核心文件当中 -->
<mapping resource = "cn/zzuli/lhk/hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>
操作数据库
- 通过操作实体类操作数据库
2. 查看数据库中是否有数据