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();
}
}