hql学习
1.helloworld
2、from
3、select
4、where
5、命名参数
6、query分页
7、hql排序和分组
8、关联查询
9、聚合函数
10、update
11、delete
12、insert
13、命名查询
package com.hibernate.h_02_hql;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import com.hibernate.util.HibernateSessionFactory;
import com.pojo.Payment;
import com.pojo.User;
public class TestHql {
/**
* helloworld
*/
@SuppressWarnings("unchecked")
public void testHelloWorld() {
Session session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
List<User> list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).getUsername());
}
session.close();
}
/**
* from
*/
@SuppressWarnings("unchecked")
public void testFrom() {
Session session = HibernateSessionFactory.getSession();
String hql = "from User u,Payment p";
Query query = session.createQuery(hql);
List<Payment> list = query.list();
for(int i=0;i<list.size();i++){
//System.out.println(list.get(i).getType());
System.out.println(list.get(i));
}
session.close();
}
/**
* select
* 可通过数组显示属性
*/
@SuppressWarnings("unchecked")
public void testSelect() {
Session session = HibernateSessionFactory.getSession();
String hql = "select username from User u";
Query query = session.createQuery(hql);
List<String> list = query.list();
for(String username : list){
System.out.println(username);
}
hql = "select id,username from User u";
query = session.createQuery(hql);
list = query.list();
for(Object obj : list){
Object[] properties = (Object[]) obj;
System.out.println(properties[0]+"----"+properties[1]);
}
session.close();
}
/**
* where
*/
@SuppressWarnings("unchecked")
public void testWhere() {
Session session = HibernateSessionFactory.getSession();
String hql = "select username from User where id > 2";
Query query = session.createQuery(hql);
List<String> list = query.list();
for(String name : list){
System.out.println(name);
}
hql = "select id,username from User where id > 2 or (username like '%zh%')";
query = session.createQuery(hql);
list = query.list();
for(Object obj : list){
Object[] pro = (Object[]) obj;
System.out.println(pro[0]+"---"+pro[1]);
}
session.close();
}
/**
* 命名参数
*/
@SuppressWarnings("unchecked")
public void testNamedParameter() {
Session session = HibernateSessionFactory.getSession();
String hql = "from User where id = :id";
Query query = session.createQuery(hql);
query.setString("id", "2");
List<User> list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
hql = "from User where username = :username";
User user = new User();
user.setId("3");
query = session.createQuery(hql);
query.setEntity("username", user);
list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).getId()+"---"+list.get(i).getUsername());
}
session.close();
}
/**
* query分页
*/
@SuppressWarnings("unchecked")
public void testQueryPage() {
Session session = HibernateSessionFactory.getSession();
String hql = "from User";
Query query = session.createQuery(hql);
query.setFirstResult(3);
query.setMaxResults(2);
List<User> list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).getUsername());
}
session.close();
}
/**
* 排序 分组
*/
@SuppressWarnings("unchecked")
public void testOrderAndGroup() {
Session session = HibernateSessionFactory.getSession();
String hql = "select username from User order by id desc,username asc";
Query query = session.createQuery(hql);
List list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
hql = "select count(*) from User group by Username";
query = session.createQuery(hql);
list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
session.close();
}
/**
* 关联查询 ???????????????
*/
@SuppressWarnings("unchecked")
public void testAssociations() {
Session session = HibernateSessionFactory.getSession();
String hql = "from java.lang.Object";
Query query = session.createQuery(hql);
List list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
session.close();
}
/**
* 聚合函数
*/
@SuppressWarnings("unchecked")
public void testFunction() {
Session session = HibernateSessionFactory.getSession();
String hql = "select count(distinct password) from User";
Query query = session.createQuery(hql);
List list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
session.close();
}
/**
* update
*/
@SuppressWarnings("unchecked")
@Test
public void testUpdate() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
String hql = "update User set username='ttt' where id=21";
Query query = session.createQuery(hql);
int count = query.executeUpdate();
System.out.println(count);
tx.commit();
session.close();
}
/**
* delete
*/
@SuppressWarnings("unchecked")
public void testDelete() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
String hql = "delete from User where id=20";
Query query = session.createQuery(hql);
int count = query.executeUpdate();
System.out.println(count);
tx.commit();
session.close();
}
/**
* insert
* 不支持values 必须使用select
*/
@SuppressWarnings("unchecked")
public void testInsert() {
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();
//String hql = "insert into User(id,username) select '20',username from User where id=1";
String hql = "insert into User(id,username) select '21','sss' from User where id=1";
Query query = session.createQuery(hql);
int count = query.executeUpdate();
System.out.println(count);
tx.commit();
session.close();
}
/**
* 命名查询 ?????????????????
*/
@SuppressWarnings("unchecked")
public void testNamdQuery() {
Session session = HibernateSessionFactory.getSession();
String hql = "from java.lang.Object";
Query query = session.createQuery(hql);
List list = query.list();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
session.close();
}
}
分享到:
相关推荐
Hibernate hql查询语法总结 Hibernate hql查询语法总结
Hibernate HQL基础练习小列子+数据库
Hibernate HQL.txt Hibernate HQL.txt Hibernate HQL.txt
Hibernate中的关联查询实际上生成的是数据库表连接查询的SQL语句
Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询....
Hibernate HQL 深度历险 深入讲解Hibernate HQL 查询
Hibernate HQL.docHibernate HQL.docHibernate HQL.doc
hibernate hql基本操作
Hibernate HQL命名参数和Query接口的分页 Hibernate HQL命名参数和Query接口的分页
对hibernate的hql进行了详尽的讲解
hibernate hql各类查询范例
Hibernate HQL 插入,查询,更新
Hibernate HQL查询语句总结.docx 网络下载的
Hibernate HQL 是一个重要的东西 好用 易学 大家都知道 你还没有用吗
HibernateHQL级联注意事项[归类].pdf
一个关于Hibernate-HQL 的文档 内容实际而且实用
hibernate HQL详细教程,简单易学易懂 1.1 HQL基础 2 1.1.1 默认数据库表和数据 2 1.1.2 检索类的所有对象 4 1.1.3 检索类的某几个属性 5 1.1.4 指定别名 5 1.1.5 where条件子句 5 1.1.6 使用distinct过滤掉重复值 6...
hibernate hql语句 hql语言汇总
hibernate HQL 查询教程 管理 Session ThreadLocal 接口的使用
精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc