Hibernate的一些操作

来源:互联网 发布:博购搜索软件 编辑:程序博客网 时间:2024/05/18 20:04

package com.yl.demo;

import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.yl.bean.Classes;
import com.yl.bean.Student;
import com.yl.utils.DBUtils;

public class HTest {

 /**
  * @param stu
  */
 public void insert(Student stu){
  //读取配置文件
  Configuration conf = new Configuration().configure();
  //获取工厂
  SessionFactory sf = conf.buildSessionFactory();
  //获取session
  Session session = null;
  Transaction tx = null;
  try {
   session = sf.openSession();
   tx = session.beginTransaction();
   session.save(stu);
   tx.commit();
  } catch (HibernateException e) {
   tx.rollback();
   e.printStackTrace();
  }finally{
   if(session!=null && session.isOpen())
   session.close();
  }
  
 }
 public void findById(int id){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Query query = session.createQuery("from Student where id=?");
  query.setInteger(0, id);
  Student stu = (Student) query.uniqueResult();
  session.getTransaction().commit();
  DBUtils.getClose(session);
  System.out.println(stu.getName());
 }
 public void findAll01(){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Query query = session.createQuery("from Student");
  List<Student> list = query.list();
  for(Student stu : list){
   System.out.println(stu.getName());
  }
  session.getTransaction().commit();
  DBUtils.getClose(session);
 }
 public void findAll02(){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Query query = session.createQuery("from Student");
  Iterator<Student> it = query.iterate();
  while(it.hasNext()){
   System.out.println(it.next().getName());
  }
  session.getTransaction().commit();
  DBUtils.getClose(session);
 }
 public void getById(int id){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Student stu = (Student) session.get(Student.class,id);
  session.getTransaction().commit();
  DBUtils.getClose(session);
  System.out.println(stu.getName());
 }
 public void loadById(int id){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Student stu = (Student) session.load(Student.class,id);
  //System.out.println(stu.getName());
  session.getTransaction().commit();
  DBUtils.getClose(session);
  System.out.println(stu.getName());

 }
 public void findSome(){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Query query = session.createQuery("select name,age from Student");
  List list = query.list();
  for(Object o : list){
   Object[] ob = (Object[])o;
   System.out.println(ob[0]+" "+ob[1]);
  }
  session.getTransaction().commit();
  DBUtils.getClose(session);
 }
 public void findlike(){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  Query query = session.createQuery("from Student where name like ?");
  query.setParameter(0, "%c%");
  List<Student> list = query.list();
  for(Student stu:list){
   System.out.println(stu.getName());
  }
  session.getTransaction().commit();
  DBUtils.getClose(session);
 }
 public void update(Student stu){
  Session session = DBUtils.getSession();
  session.beginTransaction();
  session.update(stu);
  session.getTransaction().commit();
  DBUtils.getClose(session);
 }
 public void insertCla(Classes cla){
  //获取session
  Session session = DBUtils.getSession();
  //开始事务
  session.beginTransaction();
  session.save(cla);
  //事务提交
  session.getTransaction().commit();
  //关闭
  DBUtils.getClose(session);
  
 }
 public static void main(String[] args) {
  HTest ht = new HTest();
  Student stu = new Student();
  stu.setId(1);
  stu.setName("aabbcc");
  stu.setAge(20);
  Classes cla = new Classes();
  cla.setClassroom("306");
  cla.setName("java");
  stu.setCla(cla);
  //ht.insert(stu);
//  ht.findById(1);
//  ht.findAll01();
//  ht.findAll02();
//  ht.getById(1);
//  ht.loadById(1);
//  ht.findSome();
//  ht.update(stu);
  ht.findlike();
 }
}
 

原创粉丝点击