1.基本语句知识
检索对象——from子句
选择——select子句
限制——where子句
排序——order 不用
2.学习目标
HQL定义以及语句形式
掌握Query的使用
能够编写出合格的语句
3.HQL与SQL
HQL查询映射配置的持久化类及其属性
SQL查询数据库表
4.语句形式
select 。。。from()。。。。where。。。group by。。having。。。order by。。。
对java类大小写敏感,本身关键字不敏感,但是为了美观还是统一一下吧。。。
5.使用hql进行模糊查询以及具体查询
这是我在数据库中的样式
HQL模糊查询如下
@Test
public void getdata() {
// //输入ID查询
// Scanner in = new Scanner(System.in);
// int id = in.nextInt();
// data data = (data) session.get(data.class, id);
// System.out.println(data);
// 输入title查询
Scanner in = new Scanner(System.in);
String title = in.nextLine();
String hql = "FROM data d where d.title like '%" + title + "%' ";
org.hibernate.Query query = session.createQuery(hql);
// query.setString(0, title);
List<data> results = query.list();
for (data data : results) {
System.out.println("url:" + data.getUrl() + "title:" + data.getTitle() + "summary:" + data.getSummary());
}
}
HQL具体查询如下
public void getdata() {
// //输入ID查询
// Scanner in = new Scanner(System.in);
// int id = in.nextInt();
// data data = (data) session.get(data.class, id);
// System.out.println(data);
// 输入title查询
Scanner in = new Scanner(System.in);
String title = in.nextLine();
// String hql = "FROM data d where d.title like '%" + title + "%' ";
String hql = "FROM data d where d.title =? ";
org.hibernate.Query query = session.createQuery(hql);
query.setString(0, title);
List<data> results = query.list();
for (data data : results) {
System.out.println("url:" + data.getUrl() + "title:" + data.getTitle() + "summary:" + data.getSummary());
}
}