- 爱易网页
-
数据库教程
- Hibernate增删节查数据库之一DAO类
日期:2014-05-16 浏览次数:20466 次
Hibernate增删改查数据库之一DAO类
/*使用了自己封装的HibernateUtils工具类(该类详见之二篇日志)*/
public class SessionTest extends TestCase {
/**
* 1.DESC--利用save()方法插入一条数据到数据库
*/
public void testSave(){
Session session = null;
User user = null;
//实例化POJO对象
user = new User();//@@@此时的user对象为瞬时对象状态@@@
user.setName("xxx");
user.setPassword("asb");
user.setCteateTime(new Date());
try{
//获取session对象(调用HibernateUtils工具类)
session=HibernateUtils.getSession();
//开启事物
HibernateUtils.openTransaction();
//调用save(object)方法将持久化对象保存到数据库中(插入数据)
session.save(user);//@@@此时的user对象为持久化对象状态@@@
user.setName("update");
session.update(user);//(更新数据)
//提交事物
HibernateUtils.commitTransaction();
}catch(Exception e){
//回滚事物
HibernateUtils.rollbackTransation();
e.printStackTrace();
}finally{
//关闭session对象
HibernateUtils.closeSession(session);
}
}
/**
* 2.DESC--利用get()方法按主键查询数据库中的一条记录
* 总结:get()不是延迟加载数据,当数据库无匹配数据时候,返回NULL
* 技巧:判断是否查到指定主键的数据,只需要判断User对象是否为空
*/
public void testGet(){
Session session = null;
//创建session对象
session = HibernateUtils.getSession();
//开启事物
HibernateUtils.openTransaction();
//调用get()方法(按指定ID)
User user = (User)session.get(User.class,"402880d51c6b345e011c6b34608d0001");
//提交事物
HibernateUtils.commitTransaction();
if(user!=null){
System.out.println("user.name=="+user.getName());
}else{
System.out.println("数据库中无与之匹配的数据!");
}
//关闭Session对象
HibernateUtils.closeSession(session);
}
/**
* 3.DESC--利用load()方法按主键查询数据库中的一条记录
* 总结:get()是延迟加载数据,当数据库无匹配数据时候,返回ObjectNotFoundException异常
* 技巧:判断是否查到指定主键的数据,只需要看是否抛出异常
*/
public void testLoad(){
Session session = null;
try{
//创建session对象
session = HibernateUtils.getSession();
//调用load方法(按指定ID)
User user = (User)session.load(User.class,"402880d51c6b345e011c6b34608d0001");
//提交事物
HibernateUtils.commitTransaction();
System.out.println("user.name=="+user.getName());
}catch(Exception e){
System.out.println("数据库中无与之匹配的数据!");
}finally{
//关闭Session对象
HibernateUtils.closeSession(session);
}
}
/**
* 3.DESC--利用delet()方法按主键删除数据库中的一条记录
* 技巧:先用load()查出该条记录,然后调用delete()删除
* 重点:要开启提交事物,否则删除不了
*/
public void testDelete(){
Session session = null;
try{
//创建session对象
session = HibernateUtils.getSession();
//开启事物
HibernateUtils.openTransaction();
//调用load方法(按指定ID)
User user = (User)session.load(User.class,"402880d51c6b345e011c6b34608d0001");
session.delete(user);
//提交事物
HibernateUtils.commitTransaction();
}catch(Exception e){
System.out.println("删除失败-->数据库中无与之匹配的数据!");
}finally{
//关闭Session对象
HibernateUtils.clo
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。