版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mChenys/article/details/84584948
没什么可说的,直接上代码
// 测试插入一条数据
@Test
public void testSave() {
Session session = null;
Transaction tr = null;
try {
// 获取会话
session = HibernateUtils.getSession();
// 开启事务
tr = session.beginTransaction();
// 添加数据
Customer c = new Customer();
c.setCust_name("小陈");
session.save(c);// 或者使用 session.saveOrUpdate(c);
// 提交事务
tr.commit();
} catch (Exception e) {
// 回滚事务
if (null != tr)
tr.rollback();
e.printStackTrace();
} finally {
// 释放资源
if (null != session)
session.close();
}
}
// 测试获取一条数据
@Test
public void testGet() {
// 获取会话
Session session = HibernateUtils.getSession();
// 根据id获取一条数据,参数2是id,Long类型
Customer customer = session.get(Customer.class, 1L);
System.out.println(customer);
// 释放资源
session.close();
}
// 测试删除一条数据
@Test
public void testDelete() {
Session session = null;
Transaction tr = null;
try {
// 获取会话
session = HibernateUtils.getSession();
// 开启事务
tr = session.beginTransaction();
// 删除一条数据,要先查询是否有这条数据,有才删除
Customer customer = session.get(Customer.class, 1L);
if (null != customer) {
session.delete(customer);
}
// 提交事务
tr.commit();
} catch (Exception e) {
// 回滚事务
if (null != tr)
tr.rollback();
e.printStackTrace();
} finally {
// 释放资源
if (null != session)
session.close();
}
}
// 测试更新一条数据
@Test
public void testUpdate() {
Session session = null;
Transaction tr = null;
try {
session = HibernateUtils.getSession();
// 开启事务
tr = session.beginTransaction();
// 更新一条数据,要先查询该条数据
Customer customer = session.get(Customer.class, 2L);
if (null != customer) {
customer.setCust_name("小黄");
customer.setCust_level("2");
session.update(customer);
}
// 提交事务
tr.commit();
} catch (Exception e) {
// 回滚事务
if (null != tr)
tr.rollback();
e.printStackTrace();
} finally {
// 释放资源
if (null != session)
session.close();
}
}
// 测试获取一批数据
@Test
public void testGetList() {
// 获取会话
Session session = HibernateUtils.getSession();
// 创建查询的接口,使用HQL语句,from + 类名
Query query = session.createQuery("from Customer");
List<Customer> list = query.list();
for (Customer c : list) {
System.out.println(c);
}
// 释放资源
session.close();
}
HibernateUtils
package blog.csdn.net.mchenys.utils;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
* Hibernate框架的工具类
* @author mChenys
*
*/
public class HibernateUtils {
private static final SessionFactory FACTORY;
private static final Configuration CONFIG;
//保证仅初始化一次
static {
// 加载XML的配置文件
CONFIG = new Configuration().configure();
// 构造工厂
FACTORY = CONFIG.buildSessionFactory();
}
/**
* 从工厂中获取Session对象
* @return
*/
public static Session getSession() {
return FACTORY.openSession();
}
}