//查询非持久态的数据
/*String hql="select a.aid,a.aname from Author a";
Query query=session.createQuery(hql);
List<Object[]> list=query.list();
for (Object[] obj : list) {
System.out.println(obj[0]+"\t"+obj[1]);
}*/
//使用hql查询持久态的数据 需要有对应的构造方法
/*String hql="select new Author(a.aid,a.aname) from Author a";
Query query=session.createQuery(hql);
List<Author> list=query.list();
for (Author a : list) {
System.out.println(a.getAname()+"\t"+a.getAid());
}*/
//批量修改
/*String hql="update Author a set a.aname='吴承恩'";
Query query=session.createQuery(hql);
int i=query.executeUpdate();
System.out.println(i);*/
//删除
/*String hql="delete from Author a where a.aname like '%承%'";
Query query=session.createQuery(hql);
int i=query.executeUpdate();
System.out.println(i);*/
//统计函数
/*String hql="select max(b.bid) from Book b";
Query query=session.createQuery(hql);
int max=(Integer) query.uniqueResult();//唯一的结果
System.out.println(max);*/
//统计表中数据的总行数
/*String hql="select count(b.bid) from Book b";
Query query=session.createQuery(hql);
long max=(Long) query.uniqueResult();//唯一的结果
System.out.println(max);*/
//占位符使用 ? 5.0以下版本 Hibernate ?不需要加数字(位置--第几个)
/*String hql="select a from Author a where a.aname like ?0 and a.aid >?1";
Query query=session.createQuery(hql)
.setParameter(0, "%新%")
.setParameter(1, 2);
List<Author> list=query.list();
for (Author a : list) {
System.out.println(a.getAname()+"\t"+a.getAid());
}*/
//指定占位符名称的方式 :aname 可以随便取 :a :b :c 都行
/*String hql="select a from Author a where a.aname like :aname and a.aid >:aid";
Query query=session.createQuery(hql).setParameter("aid", 2).setParameter("aname", "%新%");
List<Author> list=query.list();
for (Author a : list) {
System.out.println(a.getAname()+"\t"+a.getAid());
}*/
//集合的方式
/*String hql="delete from Author a where a.aid in :ids";
List<Integer> list=new ArrayList<Integer>();
list.add(5);
list.add(6);
Query query=session.createQuery(hql).setParameterList("ids",list);
int i=query.executeUpdate();
System.out.println(i);*/
//分页查询
/*String hql="select b from Book b";
//页数 当前页数
int pages=2;
//每页显示的行数
int pageSize=3;
//setMaxResults(arg0) 每一页显示的行数
Query query=session.createQuery(hql)
.setMaxResults(pageSize)
.setFirstResult((pages-1)*pageSize);
List<Book> list=query.list();
for (Book b : list) {
System.out.println(b.getBname()+"\t"+b.getBid());
}*/
Hibernate 批量增删改 查询所需要的列 分页查询
最新推荐文章于 2022-12-08 15:51:22 发布