天天看点

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();