仅hibernate操作

 public void testSave1() {  
 
  Session session = null;  
  Transaction tx = null;  
  try {  
   session = HibernateUtils.getSession();  
   tx = session.beginTransaction();  
   User1 user = new User1();  
   user.setName("李四");  
   user.setPassword("123");  
   user.setCreateTime(new Date());  
   user.setExpireTime(new Date());  
     
   //因为user的主键生成策略采用的是uuid,所以调用完成save后,只是将user纳入到了session
的管理  
   //不会发出insert语句,但是id已经生成,session中existsInDatebase状态为false  
   session.save(user);  
     
   //调用flush,hibernate会清理缓存,执行sql  
   //如果数据库的隔离级别设置为未提交读,那么我们可以看到flush过的数据  
   //并且session中existsInDatebase状态为true  
   session.flush();  
     
   //提交事务  
   //默认情况下commit操作会先执行flush清理缓存,所以不用显示的调用flush  
   //commit后数据是无法回滚的  
   tx.commit();  
  }catch(Exception e) {  
   e.printStackTrace();  
   tx.rollback();  
  }finally {  
   HibernateUtils.closeSession(session);  
  }  
 }

获取session,如何打开实物管理!

结束关闭!

时间: 2024-11-05 19:37:51

仅hibernate操作的相关文章

hibernate操作数据库

一.概述 hibernate操作数据库一般分为5个步骤.开始事务--->执行sql操作--->提交事务,如果出现异常,还有一个回滚操作(即相当于撤销本次操作),最后就是关闭session. 代码框架如下: try { session= HibernateUtils.getSession();//获得session,这是hibernate能够操作数据库的核心对象. //开启事务. session.beginTransaction(); //sql语句的操作部分,这里的sql语句hibernate

hibernate操作大文本字段Blob和Clob

hibernate操作大文本字段Blob和Clob解决方案: 1.大文本字段Blob和Clob(流); 2.截串存取 第一步: 创建新表:Elec_CommonMsg_Content create table Elec_CommonMsg_Content( comID varchar(50) not null primary key comment '主键ID', type char(2) null comment '判断站点运行和设备运行的标示', content varchar(5000)

Java_Web三大框架之Hibernate操作数据库(三)

使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射信息,创建SessionFactory SessionFactory sf = conf.buildSessionFactory(); (3)打开Session Session session = sf.openSession(); (4)开始一个事务(增删改操作必须,查询操作可选) Transac

Hibernate 操作对象

Hibernate 中的对象状态 : 临时状态(transient):刚用new 语句创建,还没有被持久化,并且不处于Sesssion 的缓存中.处于临时状态的Java 对象被称为临时对象. 持久化状态(persistent):已经被持久化,并且加入到Session 的缓存中.处于持久化状态的Java 对象被称为持久化对象. 删除状态(removed):不再处于Session 的缓存中,并且Session 已经计划将其从数据库中删除.处于删除状态的Java 对象被称为删除对象. 游离状态(det

mysql,多对多的hibernate操作对应的jdbc操作

在hibernate中oo思想操作数据库,很方便,但是需要了解一下底层的jdbcsql是怎么写的,复习 多对多的表关系,取出,id为1的学生 订阅了哪些课程? mysql> select c_name from student_course sc inner join course c on sc.cid = c.cid where sc.sid=1;+----------+| c_name |+----------+| odijfoij || in2 |+----------+2 rows i

hibernate操作步骤(代码部分)

1.加载hibernate的核心配置文件 2.创建SessionFactory对象 3.使用SessionFactory创建Session对象 4.开启事务(手动开启) 5.写具体逻辑crud,增删改查操作 6.提交事物 7.关闭资源 代码如下: 1 package com.hui.hibernate; 2 3 import org.hibernate.Session; 4 import org.hibernate.SessionFactory; 5 import org.hibernate.T

编写hibernate 操作数据库的dao层简单代码

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久

Hibernate操作Blob数据

  首先看数据库.数据库中新建一个BlobTable表,表中有两个字段,一个id(主键)一个picture字段是Blob类型字段.然后使用Hibernate向该数据库中写入和读取数据 在POJO类中picture属性用的是Blob类型数据. 以下看操作源代码 package dao; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOExce

026 hibernate操作树形结构

树形结构:也就是目录结构,有父目录.子目录.文件等信息,而在程序中树形结构只是称为节点. 一棵树有一个根节点,而根节点也有一个或多个子节点,而一个子节点有且仅有一个父节点(当前除根节点外),而且也存在一个或多个子节点. 也就是说树形结构,重点就是节点,也就是我们需要关心的节点对象. 节点:一个节点有一个ID.一个名称.它所属的父节点(根节点无父节点或为null),有一个或多的子节点等其它信息. Hibernate将节点抽取出成实体类,节点相对于父节点是“多对一”映射关系,节点相对于子节点是“一对