hibernate笔记02 Hibernate入门

来源:互联网 发布:陕西师范远程网络教育 编辑:程序博客网 时间:2024/05/01 01:14

1.搭建Hibernate环境

(1)导入hibernate的jar包

(2)创建实体类

使用Hibernate时不需要自己手动建表,Hibernate自动建表

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

使用配置文件实现映射

     映射配置文件名称和位置没有固定要求(建议:实体类名.hbm.xml)

在配置文件首先引入约束

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">


<hibernate-mapping>  
<!-- 1.配置类表对应                              
name属性:实体类全路径   
table属性:数据库表的名称   
-->   
<class name="cn.fcx.jju.entity.User" table="tb_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>


(4)创建hibernate的核心配置文件

  名称和文字是固定的:
--位置:在src下  
--名称:hibernate.cfg.xml

引入dtd约束:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


--hibernate操作过程中只会加载核心配置文件

第一:配置数据库信息



第二:配置hibernate信息



第三:把映射文件放入核心配置文件




2.实现添加操作


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

第二步:创建SessionFactory对象

第三步:使用SessionFactory创建session对象

第四部: 开启事务

第五步:写具体逻辑crud(增删改查)操作

第六步:提交事务

第七步:关闭资源

新建测试类 

/* 第一步:加载hibernate核心配置文件 */
/*
* 到src下面找到名称是Hibernate.cfg.xml 
* 在Hibernate里面封装对象
*/
Configuration cfg = new Configuration();
cfg.configure();
/* 第二步:创建SessionFactory对象 */
//读取Hibernate核心配置文件内容,创建sessionFactory
//在过程中根据映射关系,在配置数据库里面把表创建
SessionFactory sessionFactory = cfg.buildSessionFactory();

/* 第三步:使用SessionFactory创建session对象 */
Session session = sessionFactory.openSession();

/* 第四部: 开启事务 */

Transaction tx = session.beginTransaction();

/* 第五步:写具体逻辑crud(增删改查)操作 */


User user = new User();
user.setUserName("123");
user.setPassword("111");
user.setAddress("VN");
//调用session的方法实现添加
session.save(user);

/* 第六步:提交事务 */


tx.commit();

/* 第七步:关闭资源 */
session.close();
sessionFactory.close();
}