📄 hibernate.java
字号:
package com.mail.domain;
import org.hibernate.cfg.Configuration;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.Query;
import java.util.List;
public class Hibernate {
public Hibernate() {
}
private static SessionFactory sessionFactory;
static {
try {
Configuration config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
}
}
private Session session = null;
private Transaction tx = null;
//打开session,开启事务
private void openSession() {
session = sessionFactory.openSession();
tx = session.beginTransaction();
}
//关闭session,关闭事务
private void closeSession() {
if (tx != null) {
tx.commit();
}
if (session != null) {
session.close();
}
}
//检索对象
public List query(String hql) {
this.openSession();
Query query = session.createQuery(hql);
List result = query.list();
this.closeSession();
return result;
}
//持久化对象
public void save(Object object) {
this.openSession();
session.save(object);
this.closeSession();
}
//删除持久化对象
public void delete(Object object) {
this.openSession();
session.delete(object);
this.closeSession();
}
//更改邮件状态
public Object queryAndUpdate(String hql) {
this.openSession();
Query query = session.createQuery(hql);
List result = query.list();
EmailContent email = (EmailContent) result.get(0);
if (email.getState().equals("未查看")) {
email.setState("已查看");
}
this.closeSession();
return email;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -