浏览 3897 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-10
最后修改:2008-12-10
/*使用了自己封装的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.closeSession(session); } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-07-27
这样就完了吗?有没有具体的好的思路呢
|
|
返回顶楼 | |