各類查詢方式

//HQL查詢  【適合有數據庫基礎的】
 @Test
 public void testQuery() throws Exception {
  
  Session session = sf.openSession();
  Transaction tx = session.beginTransaction();
  
  // 主鍵查詢
  //Employee emp = (Employee) session.get(Employee.class, 1);
  
  // HQL查詢,查詢所有
  Query q = session.createQuery("from Employee where empId=1 or empId=2");
  List<Employee> list = q.list();
  
  System.out.println(list);
  
  tx.commit();
  session.close();
 }
 sql

 //QBC查詢  , query by criteria  徹底面向對象的查詢
 @Test
 public void testQBC() throws Exception {
  Session session = sf.openSession();
  Transaction tx = session.beginTransaction();
  
  Criteria criteria = session.createCriteria(Employee.class);
  // 條件
  criteria.add(Restrictions.eq("empId", 1));
  // 查詢所有
  List<Employee> list = criteria.list();
  
  System.out.println(list);
  
  tx.commit();
  session.close();
 }
 
 //sQL
 @Test
 public void testSQL() throws Exception {
  Session session = sf.openSession();
  Transaction tx = session.beginTransaction();
  
  // 把每一行記錄封裝爲對象數組,再添加到list集合
//  SQLQuery sqlQuery = session.createSQLQuery("select * from employee");
  // 把每一行記錄封裝爲 指定的對象類型
  SQLQuery sqlQuery = session.createSQLQuery("select * from employee").addEntity(Employee.class);
  List list = sqlQuery.list();
  
  System.out.println(list);
  
  tx.commit();
  session.close();
 }
}數據庫

相關文章
相關標籤/搜索