Query对象查询所有
使用Query对象,不需要写sql语句,但是要写hql语句
hql和sql的区别:sql操作表和表字段,hql操作实体类和属性
//创建Query对象
//参数:form+实体类名称
Query query=session.createQuery("from User");
//单用Query对象里面的方法得到结果
List<User> list=query.list();
//遍历
for(User user:list){
System.out.println(user);
}
Criteria对象查询所有数据
使用Criteria对象,不需要写语句,直接调用方法实现
//创建criteria对象
//参数:实体类class
Criteria criteria=session.createCriteria(User.class);
//调用对象里面的方法的到结果
List<User> list=criteria.list();
//遍历
for(User user:list){
System.out.println(user);
}
SQLQuery对象查询所有数据
调用底层sql语句实现
//创建对象
//参数:sql语句
SQLQuery sqlquery=session.createSQLQuery("select * from User");
//调用对象方法得到结果
//返回list集合,默认里面每部分是数组结构
List<Object[]> list=sqlquery.list();
//遍历
for(Object[] obj:list){
System.out.println(obj);
}
解决返回list每部分是数组:
//返回list每部分是对象形式
//参数:实体类class
sqlquery.addEntity(User.class);
List<User> list=sqlquery.list();
//遍历
for(User user:list){
System.out.println(user);
}