hibernatet入门

什么是hibernatet

**1.ORM框架/持久层框架
object reference mapping
通过管理对象来改变数据库中的数据
通过管理对象来操作数据库
2.Hibernate是一款ORM框架,Object Relation Mapping 对象关系映射。
3.可以将DB映射成Object,这样程序只要对Object对象进行操作就能完成对数据库的操作。
**

使用hibernate优势 :跨数据库的无缝移植

1.如何在项目中添加hibernate支持(手动添加)

 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
  <!-- 1. 数据库相关 -->
  <property name="connection.username">ou</property>
  <property name="connection.password">123</property>
  <property name="connection.url">jdbc:mysql://localhost:3306/db_book?useUnicode=true&amp;characterEncoding=UTF-8</property>
  <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
   <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  <!-- <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> -->

  <!-- 配置本地事务(No CurrentSessionContext configured!) -->
  <property name="hibernate.current_session_context_class">thread</property>

  <!-- 2. 调试相关 -->
  <property name="show_sql">true</property>
  <property name="format_sql">true</property>
  <!-- 3. 添加实体映射文件 -->
  <mapping resource="com/zking/one/entity/User.hbm.xml"/>

  <!-- 讲解主键生成策略 -->
  <mapping resource="com/zking/two/entity/Student.hbm.xml"/>
  <mapping resource="com/zking/two/entity/Woker.hbm.xml"/>
 </session-factory>
</hibernate-configuration> 

2.配置实体映射文件

<!DOCTYPE hibernate-configuration PUBLIC
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
 <hibernate-mapping>
 <!-- 
  table:实体类所对应表
  name:实体类的全类名
  -->
  <class  table="t_hibernate_user" name="com.zking.one.entity.User">
  <!-- 
   name:实体类的属性
   type:实体类的属性类型
   column:指的是数据库表的主键列
   -->
   <id name="id" type="java.lang.Integer" column="id">
    <generator class="increment"></generator>
   </id>
  <!-- id标签打头,代表配置的是数据库主键与实体类的关系,其他property配置的是数据库表普通的列 -->
   <property name="userName" type="java.lang.String" column="user_name"></property>
   <property name="userPwd" type="java.lang.String" column="user_pwd"></property>
   <property name="realName" type="java.lang.String" column="real_name"></property>
   <property name="sex" type="java.lang.String" column="sex"></property>
  </class>
 </hibernate-mapping>

解析xml进行数据增加

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.zking.one.entity.User;
public class Demo1 {
	/**
   * 1.读取hibernate.cfg.xml文件
   * 2.通过xml建模得到sessionfactory工厂
   * 3.获取数据库操作的当前会话(session)
   * 4.开启事务
   * 5.具体的数据库操作
   * 6.提交事务
   * 7.将会话(session)关闭
   */
/*1.读取hibernate.cfg.xml文件*/
  Configuration cfg=new Configuration().configure("hibernate.cfg.xml");
  /*通过xml建模得到sessionfactory工厂*/
  SessionFactory sessionFactory = cfg.buildSessionFactory();
  /*获取数据库操作的当前会话(session)*/
  Session ssession = sessionFactory.openSession();
  /*开启事务*/
  Transaction transaction = ssession.beginTransaction();
  //具体的数据库操作
  User user=new User();
  user.setUserName("好好");
  user.setUserPwd("123");
  user.setRealName("简介");
  user.setSex("男");
  user.setRemark("xxxx");
  ssession.save(user);
  /*提交事务*/
  transaction.commit();
  /*将会话(session)关闭*/
  ssession.close();
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值