Hibernate实现最基本的增删改查
程序员文章站
2024-02-04 19:57:28
...
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 ListqueryAll() { Session session = HibernateSessionFactory.getSession(); String hql = "FROM Login"; List 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 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 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 list = query.list(); int totalCount = list.size(); int pageSize = (totalCount%maxResult==0)?(totalCount/maxResult):(totalCount/maxResult+1); query.setFirstResult(firstResult); query.setMaxResults(maxResult); List listSize = query.list(); qr = new QueryResult(pageSize, listSize); tran.commit(); } catch (Exception e) { tran.rollback(); } finally { HibernateSessionFactory.closeSession(); } return qr; } }