一、加载数据库。
1. 使用get()方法。
package com.hibernate.dao;
import org.hibernate.Session;
import com.hibernate.entity.BaseEntity;
public class TestGet {
public static void main(String[] args){
new TestGet().getEntityById(1);
}
private void getEntityById(int i){
//获得Session实例
Session session = HibernateSessionFactory.getSession();
//从数据表中家在Id为i的对象
BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i);
//在控制台数据该对象信息
System.out.println(baseEntity.getCreateTime());
HibernateSessionFactory.clossSession();
}
}
使用get方法时,如果制定的记录不存在,则返回null。
2. 使用load()方法。
...
BaseEntity baseEntity = (BaseEntity)session.load(BaseEntity.class, i);
...
使用load方法如果加载数据不存在,则抛出ObjectNotFoundException异常,这一点与get方法时不同的。
二、删除数据
使用delete方法。
package com.hibernate.dao;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.hibernate.entity.BaseEntity;
public class TestDelete {
public static void main(String[] args) {
new TestDelete().deleteEntityById(3);
}
private void deleteEntityById(int i){
//获得Session实例
Session session = HibernateSessionFactory.getSession();
//创建一个事务
Transaction tx =null;
//从数据表中家在Id为i的对象
BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i);
try{
//开始一个事务
tx = session.beginTransaction();
//执行删除
session.delete(baseEntity);
//提交事务
tx.commit();
}catch(Exception e){
if(tx!=null){
//事务回滚
tx.rollback();
}
e.printStackTrace();
}finally {
//关闭Session
HibernateSessionFactory.clossSession();
}
}
}
三、修改数据
...
//从数据表中家在Id为i的对象
BaseEntity baseEntity = (BaseEntity)session.get(BaseEntity.class, i);
baseEntity.serCreateTime(new Date());
try{
//开始一个事务
tx = session.beginTransaction();
//执行修改
session.update(baseEntity);
...