Hibernate的一些基本用法

package com.api;

import java.util.List;

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

import com.bean.Student;

public class Test {
 
 // 测试用Hibernate存储数据
 public static void testSave() {
  Configuration config = new Configuration().configure();
  SessionFactory factory = config.buildSessionFactory();
  Session session = factory.openSession();
  session.beginTransaction();
  
  Student stu = new Student();
  stu.setId(4);
  stu.setCode("GZ004");
  stu.setName("DDD");
  stu.setPasswd("456789");
  stu.setClasses("c004");
  
  session.save(stu);
  session.getTransaction().commit();
  session.close();
 }
 
 // 测试用Hibernate删除数据
 public static void testDelete() {
  Configuration config = new Configuration().configure();
  SessionFactory factory = config.buildSessionFactory();
  Session session = factory.openSession();
  session.beginTransaction();
  
  // 删除方法一
  /*
  Student stu = new Student();
  stu.setId(1);
  session.delete(stu);
  */
  
  // 删除方法二
  /*
   *  根据删除条件,先把对象选出来,然后删除
   */
  Query q = session.createQuery("from Student where id = 2");
  Student stu = (Student)q.uniqueResult();
  System.out.println(stu);
  session.delete(stu);
  
  session.getTransaction().commit();
  session.close();
 }
 
 // 测试用Hibernate更新数据
 public static void testUpdate() {
  Configuration config = new Configuration().configure();
  SessionFactory factory = config.buildSessionFactory();
  Session session = factory.openSession();
  session.beginTransaction();
  
  Query q = session.createQuery("from Student where id = 3");
  Student stu = (Student)q.uniqueResult();
  
  stu.setName("ggg");
  stu.setPasswd("66666");
  
  session.save(stu);
  session.getTransaction().commit();
  session.close();
 }
 
 // 测试用Hibernate查询数据
 public static void testSelect() {
  Configuration config = new Configuration().configure();
  SessionFactory factory = config.buildSessionFactory();
  Session session = factory.openSession();
  session.beginTransaction();
  
  // 方式一取出id为1的学生的信息
  Student stu = (Student)session.get(Student.class, 1);
  System.out.println(stu);
  
  // 方式二取出id为2的学生的信息
  Query q = session.createQuery("from Student where id = 2");
  Student stu2 = (Student)q.uniqueResult();
  System.out.println(stu2);
  
  // 方式三取出所有的学生信息
  Query q2 = session.createQuery("from Student");
  List<Student> stus = q2.list();
  for(Student st : stus) {
   System.out.println(st);
  }
  
  // 方式四 分页取出学生信息
  Query q3 = session.createQuery("from Student");
  q3.setFirstResult(1);
  q3.setMaxResults(2);
  List<Student> stus3 = q3.list();
  for(Student st : stus3) {
   System.out.println(st);
  }
  
  session.getTransaction().commit();
  session.close();
 }
 
 public static void main(String[] args) {
  testSelect();
 }
 
}

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值