Hibernate的学习总结(Session对象)

原创 2011年01月11日 21:48:00

Hibernate的主配置文件:hibernate.cfg.xml  (包括数据库和数据源信息等)

 

核心配置文件:POJO类名.hbm.xml

 

1.hibernate与数据库交互的xml配置

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

   <session-factory>
      <property name="connection.username">scott</property>
      <property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
      <property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
      <property name="myeclipse.connection.profile">oracle10g</property>
      <property name="connection.password">tiger</property>
      <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
      <property name="show_sql">true</property>

   </session-factory>

</hibernate-configuration>

 

2.hibernate与数据表交互的xml配置

 <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
 <class name="org.lxh.pojo.Person" table="person">
  <id name="id" type="java.lang.Integer">
      <column name="id" />
      <generator class="native"></generator>
  </id>
  <property name="name" type="java.lang.String">
      <column name="name" length="20" not-null="true" />
  </property>
  <property name="age" type="java.lang.Integer">
      <column name="age" />
  </property>
  <property name="sex" type="java.lang.String">
      <column name="sex" length="2" />
  </property>
 </class>
</hibernate-mapping>

 

3.对应的表结构:

CREATE TABLE person
(
 id INT AUTO_INCREMENT PRIMARY KEY ,
 name VARCHAR(20) NOT NULL ,
 age INT ,
 sex VARCHAR(2)
) ;

 

通过Session对象与数据库进行交互 

 

1.Session对象的获取

hibernate中的连接大多交给session来进行处理,可以将session看做一个封装好的jdbc。

     Session session = new Configuration.configure().bulidSessionFactory().openSession();

 

2.通过Session对象进行插入

      session.save(p); // p为实例化的POJO对象

      session.beginTransaction().commit;  // 通过session对象进行数据库提交

 

3.通过Session对象进行更新

      session.update(p); // p为实例化的POJO对象

      session.beginTransaction().commit;  // 通过session对象进行数据库提交

 

      p对象必须设置上主键属性,才能进行更新操作。

 

4.通过Session对象进行删除

      session.delete(p); // p为实例化的POJO对象

      session.beginTransaction().commit;  // 通过session对象进行数据库提交

      

      p对象必须设置上主键属性,才能进行删除操作。

 

 

Hibernate学习总结(一)

1、什么是Hibernate Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架(ORM,对象关系映射 Object Relationship mapper) ...
  • u012750846
  • u012750846
  • 2015年09月07日 15:36
  • 807

Hibernate Session操纵的对象状态转换图

Session 的 save() 方法 Session 的 save() 方法使一个临时对象转变为持久化对象 Session 的 save() 方法完成以下操作: 把 News 对象加入到 ...
  • u013510614
  • u013510614
  • 2016年01月16日 14:29
  • 397

Hibernate中四种对象状态,Session常用方法,映射类型

本篇资料源自java1234小峰(java知识分享网) Junit4 方法 setUpBeforeClass() 类初始化前调用; tearDownAfterClass() 类初始化后调用; s...
  • conglinyu
  • conglinyu
  • 2017年03月03日 22:36
  • 1200

hibernate的对象状态以及Session的不同操作对对象状态的影响

瞬时(Transient)—由new操作符创建,且尚未与HibernateSession关联的对象被认定为瞬时的;瞬时对象不会被持久到数据库中,也不会被赋予持久化标识(identfier)。如果瞬时对...
  • yuhui123999
  • yuhui123999
  • 2016年07月13日 16:10
  • 1158

hibernate获取session连接对象

所有的session连接对象都是由SessionFactory生产的。 SessiinFactory的创建有3种方式。 1.hibernate创建HibernateUtil工具类,用于初始...
  • mafan121
  • mafan121
  • 2015年04月14日 16:53
  • 1674

hibernate获取session的两种方式

hibernate获取session的两种方式分别是getSession() 方法和getCurrentSession() 方法。 1.通过getSession方法获取session,具体操作为: /...
  • qq_25816185
  • qq_25816185
  • 2016年08月09日 18:46
  • 2535

Hibernate学习总结

Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象...
  • liulufei11
  • liulufei11
  • 2014年02月18日 17:57
  • 640

hibernate两种获取session方法的区别

在hibernate中有两种方法获得session openSession()getCurrentSession() 如果使用的getCurrentSession()方法  就要在hibe...
  • su20145104009
  • su20145104009
  • 2016年11月22日 20:09
  • 2202

hibernate3.0以上使用merge()来合并两个session中的同一对象

a different object with the same identifier value was already associated with the session一个经典的hibern...
  • xymyeah
  • xymyeah
  • 2008年02月19日 18:00
  • 2087

Hibernate学习总结(二)

目录一、概述 二、Hibernate表与表之间关系 1.一对多关系 1.1 一对多Demo 1.1.1 entity类及映射配置 1.1.2 核心配置文...
  • qq_24912789
  • qq_24912789
  • 2017年05月31日 20:55
  • 160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hibernate的学习总结(Session对象)
举报原因:
原因补充:

(最多只允许输入30个字)