package test;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateSessionFactory;
import entity.User;
public class OperateTest {
public static void main(String[] args) {
// hibernate 的 insert 操作
//insert();
// hibernte 的 update 操作
// update();
// hibernte 的 delete 操作
// delete();
// hibernte 的 select 操作
select();
}
private static void select() {
// 实例化 HibernateSessionFactory 工厂类
Session session = HibernateSessionFactory.getSession();
try {
//HQL查询
Query query = session.createQuery("from User ");
//获取User列表信息
List<User> users = query.list();
//遍历出User列表信息
for (User user : users) {
System.out.println( user.getId() +" "+user.getName());
}
System.out.println("保存成功!!!");
} catch (HibernateException e) {
e.printStackTrace();
} finally {
// 关闭 session,释放资源
HibernateSessionFactory.closeSession();
}
}
private static void delete() {
// 实例化 HibernateSessionFactory 工厂类
Session session = HibernateSessionFactory.getSession();
// 创建事务(增删改用事务)
Transaction tx = null;
try {
// 打开事务
tx = session.beginTransaction();
// 实例化 User 对象
User user = new User();
user.setId(1);
// 发送一条删除 Sql 语句
session.delete(user);
// 提交事务
tx.commit();
System.out.println("保存成功!!!");
} catch (HibernateException e) {// 如果发生异常则回滚事务
e.printStackTrace();
// 回滚事务
tx.rollback();
} finally {
// 关闭 session,释放资源
HibernateSessionFactory.closeSession();
}
}
private static void update() {
// 实例化 HibernateSessionFactory 工厂类
Session session = HibernateSessionFactory.getSession();
// 创建事务(增删改用事务)
Transaction tx = null;
try {
// 打开事务
tx = session.beginTransaction();
// 实例化 User 对象
User user = new User();
user.setId(1);// id不能少,hibernate只能通过id来查找数据
user.setName("景临境");
user.setAge(26);
user.setHight(1.88);
// 发送一条修改 Sql 语句
session.update(user);
// 提交事务
tx.commit();
System.out.println("保存成功!!!");
} catch (HibernateException e) {// 如果发生异常则回滚事务
e.printStackTrace();
// 回滚事务
tx.rollback();
} finally {
// 关闭 session,释放资源
HibernateSessionFactory.closeSession();
}
}
private static void insert() {
// 实例化 HibernateSessionFactory 工厂类
Session session = HibernateSessionFactory.getSession();
// 创建事务(增删改用事务)
Transaction tx = null;
try {
// 打开事务
tx = session.beginTransaction();
// 实例化 User 对象并传参
User user = new User("吴者然", 28, 1.72);
// 发送一条插入 Sql 语句
session.save(user);
// 提交事务
tx.commit();
System.out.println("保存成功!!!");
} catch (HibernateException e) {// 如果发生异常则回滚事务
e.printStackTrace();
// 回滚事务
tx.rollback();
} finally {
// 关闭 session,释放资源
HibernateSessionFactory.closeSession();
}
}
}
Select的效果图: