天天看點

Hibernate的Api使用

Query對象

1. 使用query對象,寫hql語句,而不寫sql語句

* hql:hibernate query language

* hql與sql差別

2. 查詢所有資料hql語句

* from 實體類名稱

3. Query對象使用

* 建立Query對象

* 調用Query對象裡面的方法

  • 使用sql操作的是表和表裡面的字段
select * from t_user 
           
  • 使用hql操作的是實體類Entity和屬性
Query query= session.createQuery("from User");
List<User> list=query.list();
           

Criteria對象

使用這個對象不需要寫hql語句,直接調用裡面的方法就可以
  1. 使用過程
  • 建立Criteria對象
  • 調用裡面的方法
Criteria criteria = session.createCriteria(User.class);
List<User> user=criteria.list();
           

SQLQuery對象

SQLQuery sqlQuery=session.createSqlQuery("select * from t_user ");
//傳回的list集合每一組資料都是數組形式而不是對象形式
List<Object[] object> user = sqlQuery.list();
for(Object[] object:list){
    System.out.println(Arrays.toString(objects));
}

//解決方案
//設定傳回的值是對象形式
sqlQuery.addEntity(User.class);
List<User> userList=sqlQuery.list();