Hibernate入门

来源:互联网 发布:淘宝流量一下子跌下来 编辑:程序博客网 时间:2024/06/04 00:33

搭建hibernate环境

第一步 导入hibernatejar

Requiredjar包全部要放进去


Jpa文件夹下的文件也要导出来

 

因为使用hibernate时候,有日志信息输出,hibernate本身没有日志输出的jar包,导入其他日志的jar

log4j-1.2.17.jar

mysql-connector-java-5.1.40-bin.jar

slf4j-api-1.7.22.jar

slf4j-log4j12-1.7.22-sources.jar


这几个jar需要在相应的官网下载。

 

第二步 创建实体类

/*hibernate要求实体类有一个属性唯一的*/

private int uid;

private String username;

private String password;

private String address;

public int getUid() {

return uid;

}

(1)使用hibernate时候,不需要自己手动创建表,hibernate帮把表创建

 

第三步 配置实体类和数据库表一一对应关系(映射关系)

使用配置文件实现映射关系

(1)创建xml格式的配置文件

- 映射配置文件名称和位置没有固定要求 .hbm.xml

- 建议:在实体类所在包里面创建,实体类名称

(2)配置是xml格式,在配置文件中首先引入xml约束

- 这里用hibernate里面引入的约束是dtd约束

<!DOCTYPE hibernate-mapping PUBLIC 

    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

(3)配置映射关系

<hibernate-mapping>

<!-- 1配置类和表对应

class标签

name属性:实体类全路径

table属性:数据库表名称

 -->

<class name="cn.itcast.entity.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="password" column="password"></property>

  <property name="address" column="address"></property>

</class>

</hibernate-mapping>

 

第四步 创建hibernate的核心配置文件

(1)核心配置文件格式xml,但是核心配置文件名称和位置固定的

- 位置:必须src下面

- 名称:必须hibernate.cfg.xml

 

(2)引入dtd约束

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

 

(3)hibernate操作过程中,只会加载核心配置文件,其他配置文件不会加载

第一部分:配置数据库信息

<!-- 第一部分: 配置数据库信息  必须的-->

<property name="hibernate.connection.driver_class">

com.mysql.jdbc.Driver

</property>

<property name="hibernate.connection.url">

jdbc:mysql:///hibernate_day01

</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

第二部分:配置hibernate信息

<!-- 第二部分: 配置hibernate信息  可选的-->

<!-- 输出底层sql语句 -->

<property name="hibernate.show_sql">true</property>

<!-- 输出底层sql语句格式化 -->

<property name="hibernate.format_sql">true</property>

<!-- hibernate帮创建表,需要配置之后

update:如果已经有表,更新,如果没有,创建

-->

<property name="hibernate.hbm2ddl.auto">update</property>

<!-- 配置数据库方言

mysql里面实现分页关键字 limit,只能使用在mysql里面

oracle数据库,实现分页rownum

hibernate框架识别不同数据库的自己特有的语句

-->

<property name="hibernate.dialect">

org.hibernate.dialect.MySQLDialect

</property>

第三部分:把映射文件放到核心配置文件中

<!-- 第三部分:把映射文件放到核心配置文件中 -->

<mapping resource="cn/itcast/entity/User.hbm.xml" />

 

 

实现添加操作

第一步 加载hibernate核心配置文件

Configuration cfg = new Configuration();

cfg.configure();

 

第二步 创建SessionFactory对象

SessionFactory sessionFactory = cfg.buildSessionFactory();

 

第三步 使用SessionFactory创建session对象

Session session = sessionFactory.openSession();

第四步 开启事务

Transaction tx = session.beginTransaction();

第五步 写具体逻辑crud操作

// 添加功能

User user = new User();

user.setUsername("小王");

user.setPassword("250");

user.setAddress("日本");

// 调用session的方法实现添加

session.save(user);

第六步 提交事务

tx.commit();

第七步 关闭资源

session.close();

sessionFactory.close();

 

看到效果:

(1)是否生成表

(2)看表是否有记录

 

0 0
原创粉丝点击