Hibernate是通过session对象操作持久对象的,经常用到的操作方法有save()、get()、load()、update()、delete()、saveOrUpdate()等。
(1)save()方法
该方法用来对持久对象进行保存,对应到数据库中就是向表中插入一条记录。
public class HibernateTest {
public static void main(String args[]){
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Usertable user=new Usertable();
user.setUsername("Tyshawn");
user.setPassword("123");
session.save(user);
ts.commit();
HibernateSessionFactory.closeSession();
}
}
(2)get()和load()方法
这两个方法都用来加载持久化类对象(查询),参数有两个get / load(Class clazz,Serialize id),第一个是需要查找的对象类型,第二个是对应的主键id。
Usertable user=(Usertable)session.get(Usertable.class, 2);
//或者Usertable user=(Usertable)session.load(Usertable.class, 2);
(3)update()方法
该方法用于对持久对象进行修改操作,对应数据库中就是修改表中的一条记录。
public class HibernateTest {
public static void main(String args[]){
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Usertable user=(Usertable)session.get(Usertable.class, 1);
user.setUsername("ltx");
session.update(user);
ts.commit();
HibernateSessionFactory.closeSession();
}
}
(4)delete()方法
该方法用来对持久化对象进行删除操作,对应数据库中就是删除表中的一条记录。
public class HibernateTest {
public static void main(String args[]){
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Usertable user=(Usertable)session.get(Usertable.class, 1);
session.delete(user);
ts.commit();
HibernateSessionFactory.closeSession();
}
}
(5)saveOrUpdate()方法
该方法能根据对象的不同情况分别进行不同处理. 如果数据库中该对象存在则update(), 否则save().
public class HibernateTest {
public static void main(String args[]){
Session session=HibernateSessionFactory.getSession();
Transaction ts=session.beginTransaction();
Usertable user=(Usertable)session.get(Usertable.class, 1);
if(user==null){
user=new Usertable();
user.setUsername("ltx");
user.setPassword("123");
}else{
user.setPassword("123456");
}
session.saveOrUpdate(user);
ts.commit();
HibernateSessionFactory.closeSession();
}
}