HQL基本的举例
来源:互联网 发布:日落大道 知乎 编辑:程序博客网 时间:2024/06/02 07:40
java 代码
- /*
- * 简单的查询一个表,返回List
- */
- public void testHQL1(){
- Session session = factory.openSession();
- String hql = "from User";
- Query query = session.createQuery(hql);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- session.close();
- }
- /*
- *
- * 加了一些限制的条件查询,查询得到一个List
- * 这里跟 sql 语句很像,很好!
- */
- public void testHQL2(){
- Session session = factory.openSession();
- String hql = "from User where name='linweihan' and addr ='beijing'";
- Query query = session.createQuery(hql);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- session.close();
- }
- /*
- * 排序,使用order by和sql 非常像很好
- */
- public void testHQL3(){
- Session session = factory.openSession();
- String hql = "from User order by age desc";
- Query query = session.createQuery(hql);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getAge());
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- session.close();
- }
- /*
- * 分组,使用group by
- */
- public void testHQL4(){
- Session session = factory.openSession();
- String hql = "from User group by addr";
- Query query = session.createQuery(hql);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getAge());
- System.out.println(user.getName());
- System.out.println(user.getAddr());
- System.out.println("---------------");
- }
- session.close();
- }
- /*
- * 使用函数
- * 这里使用avg(),平均数
- * 跟sql很像啊
- */
- public void testHQL5(){
- Session session = factory.openSession();
- String hql = "select avg(age) from User";
- //这里返回的List是float类型的
- Query query = session.createQuery(hql);
- List
avg_ages = query.list(); - for(Float avg_age : avg_ages){
- System.out.println(avg_age);
- }
- session.close();
- }
- /*
- * 分组和函数相结合
- *
- */
- public void testHQL6(){
- Session session = factory.openSession();
- String hql = "select avg(age) from User group by addr";
- //这里返回的List是float类型的
- Query query = session.createQuery(hql);
- List
avg_ages = query.list(); - for(Float avg_age : avg_ages){
- System.out.println(avg_age);
- }
- session.close();
- }
- /*
- * 分组和函数相结合,查询平均年龄和地址
- * 所以返回的类型应该是Object
- *
- */
- public void testHQL7(){
- Session session = factory.openSession();
- String hql = "select avg(age),addr from User group by addr";
- Query query = session.createQuery(hql);
- List avg_ages = query.list();
- for(Object[] avg_age : avg_ages){
- System.out.println(avg_age[1]+"----"+avg_age[0]);
- }
- session.close();
- }
- /*
- * 支持select 这种通用的查询
- */
- public void testHQL8(){
- Session session = factory.openSession();
- String hql = "select name,age from User";
- Query query = session.createQuery(hql);
- List infos = query.list();
- for(Object[] info : infos){
- System.out.println(info[0]+"----"+info[1]);
- }
- session.close();
- }
- /*
- * 使用update
- * Hibernate3也支持update和delete
- * 在Hibernate2中不支持
- */
- public void testHQL9(){
- Session session = factory.openSession();
- String hql = "update User set age = 100 where name = 'linweihan'";
- Query query = session.createQuery(hql);
- //需要用executeUpdate方法
- query.executeUpdate();
- //需要事务的提交才能影响数据库
- session.beginTransaction().commit();
- session.close();
- }
- /*
- * 使用delete
- */
- public void testHQL10(){
- Session session = factory.openSession();
- String hql = "delete User where name = 'linweihan'";
- Query query = session.createQuery(hql);
- //需要用executeUpdate方法
- query.executeUpdate();
- //需要事务的提交才能影响数据库
- session.beginTransaction().commit();
- session.close();
- }
- /*
- * 在JDBC支持动态的参数
- * 在hibernate中也支持
- */
- public void testHQL11(){
- Session session = factory.openSession();
- String hql = "from User where addr=? and age=?";
- Query query = session.createQuery(hql);
- query.setString(0, "fujian");
- query.setInteger(1, 22);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- //session.close();
- }
- /*
- * HQL中支持这么一种的动态帮定可以起别名
- */
- public void testHQL12(){
- Session session = factory.openSession();
- String hql = "from User where addr=:address and age=:age";
- Query query = session.createQuery(hql);
- query.setString("address", "fujian");
- query.setInteger("age", 22);
- List
users = query.list(); - for(User user : users){
- System.out.println(user.getName());
- System.out.println("---------------");
- }
- session.close();
- }
- /*
- * 另外Hibernate允许我们把 sql语句配置到文件中
- * 因为写到程序中需要编译的,而写到配置文件中是不需要编译的
- */
- HQL基本的举例
- HQL举例
- HQL的基本语法
- HQL的基本语法
- HQL的基本语法
- hql的基本用法
- HQL的基本语法
- time_point 的基本用法举例
- Hive的HQL的基本操作
- hibernate基本的HQL查询demo
- hibernate基于hql的基本查询
- Hibernate之HQL的基本用法
- 一些比较基本的算法举例
- 一些比较基本的算法举例
- POSIX线程中互斥量的基本用法举例
- Objective-C的基本类方法,举例
- strlen 和 sizeof 的基本用法(举例)
- HQL 语言基本用法
- DB2备份和恢复的一些练习
- db2 多节点备份和恢复过程
- DB2 db2move备份脚本
- 正则表达式30分钟入门教程
- Visual Web JSF 处理 jFreeChart
- HQL基本的举例
- oracle日期函数的使用
- c# 读取excel文件第1个表的内容
- 评论:利用DDOS攻击P2P盗版 好莱坞会不会太过火?
- ubuntu下安装系统服务
- dba职业规划
- ubuntu下安装系统服务
- 华为一员工猝死出租屋 警方初步排除他杀
- VS2005快捷键大全