Query對(duì)象
1. 使用query對(duì)象罪郊,寫hql語(yǔ)句,而不寫sql語(yǔ)句
* hql:hibernate query language
* hql與sql區(qū)別
2. 查詢所有數(shù)據(jù)hql語(yǔ)句
* from 實(shí)體類名稱
3. Query對(duì)象使用
* 創(chuàng)建Query對(duì)象
* 調(diào)用Query對(duì)象里面的方法
- 使用sql操作的是表和表里面的字段
select * from t_user
- 使用hql操作的是實(shí)體類Entity和屬性
Query query= session.createQuery("from User");
List<User> list=query.list();
Criteria對(duì)象
使用這個(gè)對(duì)象不需要寫hql語(yǔ)句尚洽,直接調(diào)用里面的方法就可以
- 使用過程
- 創(chuàng)建Criteria對(duì)象
- 調(diào)用里面的方法
Criteria criteria = session.createCriteria(User.class);
List<User> user=criteria.list();
SQLQuery對(duì)象
SQLQuery sqlQuery=session.createSqlQuery("select * from t_user ");
//返回的list集合每一組數(shù)據(jù)都是數(shù)組形式而不是對(duì)象形式
List<Object[] object> user = sqlQuery.list();
for(Object[] object:list){
System.out.println(Arrays.toString(objects));
}
//解決方案
//設(shè)置返回的值是對(duì)象形式
sqlQuery.addEntity(User.class);
List<User> userList=sqlQuery.list();