hql基本查询语句

 

package com.etp.bbs.dao;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.etp.bbs.pojo.User;

public class UserDao_H
{

 

 public List<User> getAllUser_01()
 {
  List<User> userList = null;
  String hql = "from User";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   userList = query.list();
  }
  catch (Exception e)
  {
   // TODO: handle exception
  }
  return userList;
 }

 

 

 

 public List<User> getAllUserByPage(int pageNum)
 {
  int start = (pageNum - 1) * 2;
  List<User> userList = null;
  String hql = "from User";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setFirstResult(start);
   query.setMaxResults(2);
   userList = query.list();
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  return userList;
 }

 

 

 public List getAllUser_02()
 {
  List userList = null;
  String hql = "select u.userName,u.regTime from User u";
  Session session = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   userList = query.list();
  }
  catch (Exception e)
  {
   // TODO: handle exception
  }
  return userList;
 }

 

 

 public User getUserById_01(int id)
 {
  User user = null;
  String hql = "from User u where u.userId = ?";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setInteger(0, id);
   user = (User) query.list().get(0);
  }
  catch (Exception e)
  {
   // TODO: handle exception
  }
  return user;
 }

 

 

 public User getUserById_02(int id)
 {
  User user = null;
  String hql = "from User u where u.userId = ?";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setInteger(0, id);
   user = (User) query.uniqueResult();
  }
  catch (Exception e)
  {
   
  }
  return user;
 }

 

 

 public User getUserById_03(int id)
 {
  User user = null;
  String hql = "from User u where u.userId = :id";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setInteger("id", id);
   user = (User) query.uniqueResult();
  }
  catch (Exception e)
  {
  }
  return user;
 }

 

 

 // 模糊查询
 public List<User> getUserByUserName(String userName)
 {
  List<User> userList = null;
  String hql = "from User u where u.uName like :userName";
  Session session = null;
  Transaction tran = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setString("userName", "%" + userName + "%");
   userList = query.list();
  }
  catch (Exception e)
  {

  }
  return userList;
 }

 

 

 // 取出字段
 public List<String> getAllUserName()
 {
  List<String> nameList = null;
  String hql = "select u.userName from User u";
  Session session = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   nameList = query.list();
  }
  catch (Exception e)
  {
   // TODO: handle exception
  }
  return nameList;
 }

 

 

 // 计数
 public long getUserCount()
 {
  long result = -1;
  String hql = "select count(*) from User";
  Session session = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   result = (Long) query.uniqueResult();
  }
  catch (Exception e)
  {

  }
  return result;
 }

 

 

 // 关联
 public User getUserTopicByUserId(int userId)
 {
  User user = null;
  String hql = "select u from User u join fetch u.topics where u.userId = ?";
  Session session = null;
  try
  {
   session = HibernateUtil.getSession();
   Query query = session.createQuery(hql);
   query.setInteger(0, userId);
   user = (User) query.uniqueResult();
  }
  catch (Exception e)
  {
   
  }
  return user;
 }
}

时间: 2024-09-12 05:20:42

hql基本查询语句的相关文章

hql 多对一查询语句如何写

问题描述 hql 多对一查询语句如何写 public A { private long id; private String a; private B b; } public B{ private long id; private String b; } 现在我知道了B类的id和A类的变量a,要查出整个A类,hql语句怎么写啊,在线急等,求大神指点 解决方案 hibernate查询语句--HQLhibernate查询语句--HQLhibernate查询语句--HQL 解决方案二: 是B类的所有I

hql-一个关于HQL查询语句的问题

问题描述 一个关于HQL查询语句的问题 查询一个实体类的部分属性,比如,这个实体类中有另外的一个实体类,但不想去查询这个实体类,只想查询原来实体类的私有属性,应该怎么写语句? 解决方案 可以直接写SQL的,查询字段只查询某些属性就可以了.类似: session.createQuery("select username,age from User where id=2");

hibernate查询语句--HQL

1.from 1.1单表查询 from eg.cat as cat.其中,cat只是一个别名,为了用其他子语句的时候书写简单 1.2多表查询 from eg.Cat,eg.Dog from eg.Cat as cat,eg.Dog as dog 2.join相关 (inner) join left (outer) join right (outer) join full join HQL同样对SQL中的这些特性支持 下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想

HQL查询语句

问题描述 selectBalance.balancefrom(selectaccountId,max(balanceDate)asbalanceDatefromBalancegroupbyaccountId)tempinnerjoinBalanceontemp.accountId=Balance.accountIdandtemp.balanceDate=Balance.balanceDateandBalance.accountIdlike'%%'andBalance.accTypelike'%%

mysql查询语句报错,怎么解决?

问题描述 mysql查询语句报错,怎么解决? unexpected token: h near line 1, column 142 [select count(o) from com.hm.dao.entity.Tenant o ,Houserentalinfo r ,com.hm.dao.entity.Houses h where o.id = r.userId and r.houseId = h.id and h.housePurpose = ' 公寓房 ' ] 解决方案 错误日志呢?可能

java-JAVA后台动态拼接查询语句

问题描述 JAVA后台动态拼接查询语句 要重做一个系统,以前那个系统因为查询效率非常低下,所以要重做. 查询需求比较蛋疼:查询的字段,和查询条件都是要动态拼接的.因为之前的做法是把所有要显示的字段和查询的条件都写在一个视图里,查询的时候直接拼接where 条件就行了.基础视图查询了太多的字段(很多字段还是用了函数),关联了太多的表,倒是几乎没子查询. 现在他们想把基础视图简化,只查列表显示的常用字段,然后查询时去动态的拼表连接JOIN和WHERE条件,我想了半天也没想出来应该怎么做.主要就是,查

hibernate-hql多表连接的查询语句

问题描述 hql多表连接的查询语句 现在我的数据库里有两张表tbplayer和tbpychar,用hibernate映射的实体类类名是TbPlayer和TbPyChar,现在我想在dao层中用hql语句进行查询,通过两张表里都有的psn字段将两张表连接起来,然后通过tbplayer表中的nickname字段进行查询,请问这个hql语句怎么写,求大神帮忙!!! 解决方案 hql 多表连接查询Hibernate常用查询语句(hql)

一对多-求角色权限的一个查询语句

问题描述 求角色权限的一个查询语句 我现在有连个实体类:角色和权限.两个表:角色表和权限表.在角色实体类中,存权限对象集合,一对多关系.在权限实体中,存角色对象.在权限表里存角色id.现在我想用一条查询语句,根据角色id查权限的实体对象.怎么查?求帮助,谢谢 解决方案 hql: select o from 权限 o where o.角色.id =`` 解决方案二: 非常简单,在建立一张角色权限表,这样角色和权限就是多对多的关系,查选也变得非常简单.直接根据角色编号查选这张关联表就可以得到该角色的

HQL如何查询一对多返回数量

问题描述 有两个表:栏目表c,新闻表n,一对多关联.每个栏目下有多条新闻.如何写HQL查询语句,实现如下结果:栏目名称新闻数量栏目110栏目220...... 解决方案 解决方案二:栏目类ItemStringname;//栏目名List<News>list=newArrayList<>();//关联的新闻hql="selectl.name,count(l.list)fromItemigroupbyl.name";注意这里count(l.list)返回的是long