当前位置 : 主页 > 编程语言 > c++ >

hibernate实现简单的增删查改

来源:互联网 收集:自由互联 发布时间:2021-07-03
gistfile1.txt //User是一个javaBean,有id(int) name(String)两个字段,在数据库对应的表名是userimport java.util.List;import org.hibernate.Criteria;import org.hibernate.HibernateException;import org.hibernate.Session;impor
gistfile1.txt
//User是一个javaBean,有id(int) name(String)两个字段,在数据库对应的表名是user

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import com.cn.domain.QueryResult;
import com.cn.domain.User;
import com.cn.utils.HibernateteUtils;

public class UserDao {
	public void add(User user){
		Session session  =null;
		Transaction tx = null;
		try{
			session = 	HibernateteUtils.getSession();//得到会话
			tx = session.beginTransaction();//开启事务
			session.save(user);
			tx.commit();//提交事务

		}catch(Exception e){
			tx.rollback();
			throw e;
		}finally{
			session.close();//释放资源
		}
	}
	public void update(User user){
		Session session = HibernateteUtils.getSession();
		Transaction tx = null;
		try{
			tx = session.beginTransaction();
			session.update(user);//根据id更新
			tx.commit();
		}catch(RuntimeException e){
			tx.rollback();
			throw e;
		}finally{
			session.close();
		}
		
	}
	public void delete(int id){
		Session session = HibernateteUtils.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			Object user = session.get(User.class, id);//先找到对象在删除对象
			session.delete(user);
			tx.commit();
		} catch (HibernateException e) {
			tx.rollback();
			throw new RuntimeException(e);
		}
		
	}
	public User find(int id){
		Session session  = HibernateteUtils.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			User user = (User) session.get(User.class, id);
			tx.commit();
			return user;
		} catch (HibernateException e) {
			session.close();
			throw new RuntimeException(e);
		}
	}
	public List
 
   findAll(){
		Session session = HibernateteUtils.getSession();
		Transaction tx = null;
		try {
			tx = session.beginTransaction();
			/*
			 * 方式一
			 * List
  
    list = session.createQuery( "from User") .list();//User代表的是类,不是表名 */ //方式二 Criteria cri = session.createCriteria(User.class); //加限定条件 cri.add(Restrictions.between("id", 4, 10)); List
   
     list = cri.list(); tx.commit(); return list; } catch (HibernateException e) { tx.rollback(); throw new RuntimeException(e); }finally{ session.close(); } } public QueryResult findAll(int first,int max){ Session session = HibernateteUtils.getSession(); Transaction tx = null; try{ tx = session.beginTransaction(); /*Query query = session.createQuery("from user"); query.setFirstResult(first); query.setMaxResults(max);*/ List
    
      list = session.createQuery( "from User") .setFirstResult(first) .setMaxResults(max) .list(); Long count = (Long) session.createQuery( "select count(*) from User") .uniqueResult(); QueryResult result = new QueryResult(count.intValue(), list); tx.commit(); return result; }catch(Exception e){ tx.rollback(); throw new RuntimeException(e); }finally{ session.close(); } } }
    
   
  
 
网友评论