Home >Database >Mysql Tutorial >Hibernate实现最基本的增删改查

Hibernate实现最基本的增删改查

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 16:03:231213browse

Hibernate提供了丰富的API对数据库进行操作。 其中Session是对数据库进行操作一个非常重要的类,他提供了对数据库增删改查的基本操作。 下面看一些具体示例,实例中实现了对数据库增加,删除,更新,根据ID查询,查询全部,分页查询,以及模糊查询 package d

Hibernate提供了丰富的API对数据库进行操作。

其中Session是对数据库进行操作一个非常重要的类,他提供了对数据库增删改查的基本操作。

下面看一些具体示例,实例中实现了对数据库增加,删除,更新,根据ID查询,查询全部,分页查询,以及模糊查询

package dao;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import sessionfactory.HibernateSessionFactory;
import entity.Login;

public class BaseDao {
	// 保存用户
	public void save(Login login) {
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			session.save(login);
			tran.commit();
			System.out.println("添加成功!");
		} catch (HibernateException e) {
			tran.rollback();
			System.out.println("插入失败!");
		} finally {
			HibernateSessionFactory.closeSession();
		}
	}

	// 删除用户
	public void delete(Login login) {
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			session.delete(login);
			System.out.println("删除成功");
			tran.commit();
		} catch (Exception e) {
			System.out.println("删除失败");
			tran.rollback();
		} finally {
			HibernateSessionFactory.closeSession();
		}
	}

	// 更新用户信息
	public void update(Login login) {
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			session.update(login);
			tran.commit();
			System.out.println("更新成功!");
		} catch (Exception e) {
			tran.rollback();
			System.out.println("更新失败!");
		} finally {
			HibernateSessionFactory.closeSession();
		}
	}

	// 根据用户id查询
	public Login queryById(int id) {
		Login login =null;
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			login = (Login) session.get(Login.class, id);
			tran.commit();
		} catch (Exception e) {
			tran.rollback();
			System.out.println("未找到用户!");
		} finally {
			HibernateSessionFactory.closeSession();
		}
		return login;
	}

	// 查询全部
	public List<Login> queryAll() {
		Session session = HibernateSessionFactory.getSession();
		String hql = "FROM Login";
		List<Login> list = null;
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			Query query = session.createQuery(hql);
			list = query.list();
			tran.commit();
		} catch (Exception e) {
			tran.rollback();
		} finally {
			HibernateSessionFactory.closeSession();
		}
		return list;
	}

	// 模糊查询
	public List<Login> queryLike(String name) {
		Session session = HibernateSessionFactory.getSession();
		String hql = "from Login as l where l.username like ?";
		Query query = session.createQuery(hql);
		query.setString(0, "%" + name + "%");
		List<Login> list = query.list();
		return list;
	}

	// 分页查询
	public QueryResult queryAll(int firstResult, int maxResult) {
		QueryResult qr = null;
		Session session = HibernateSessionFactory.getSession();
		Transaction tran = null;
		try {
			tran = session.beginTransaction();
			Query query = session.createQuery("FROM Login");
			List<Login> list = query.list();
			int totalCount = list.size();
			int pageSize = (totalCount%maxResult==0)?(totalCount/maxResult):(totalCount/maxResult+1);
			query.setFirstResult(firstResult);
			query.setMaxResults(maxResult);
			List<Login> listSize = query.list();
			qr = new QueryResult(pageSize, listSize);
			tran.commit();
		} catch (Exception e) {
			tran.rollback();
		} finally {
			HibernateSessionFactory.closeSession();
		}
		return qr;
	}
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn