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; } }
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com