Session接口操作数据库的核心方法

1.save()——规范例子:
  

 public void addUser(User user){
  	 Session session = null;
  	 Transaction tx = null;
  	 try{
   		 session = HibernateUtil.getSession();
   		 tx.session.beginTransaction();
   		 session.save(user);
   		 tx.commit();
 	  }catch(HibernateException e){
   		 if(tx != null){
   			  tx.rollback();
 	 	  }
  		  throw e;
  	 }finally{
  		  if(session != null){
  			   session.close();
  		  }
 	  }
  }

 
 2.get()——get方法可以不要打开事务,会立刻访问数据库

 public User getUser(int id){
  	 Session session = null;
  	 //Transaction tx = null;
  	 try{
  	  session = HibernateUtil.getSession();
  	  //tx.session.beginTransaction();
  	  session.get(User.class,id);
  	  //tx.commit();
  	  return user;
 	  }finally{
  		  if(session != null){
  		   session.close();
  		  }
  	 }
  } 

 
 显示sql语句配置:
<properties name="show_sql" value="true">
3.load()——和get类似。当使用的才加载,永远都不会为空,返回的是代理不会立即访问数据库
即:if(user != null)是不对的它永远都不为空。
4.merge()和更新一样
5.persist()和save()一样,区别在于有没有开启事务。persist在事务外不会产生insert语句
6.saveOrUpdate()
7.delete() 删除对象
8.update() 更新对象,如果数据库中没有记录会出现异常
9.lock() 把对象变成持久对象但不会同步对象的状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值