1.hibernate hql语句查询一个字段
String userName="";
String hql=" select employeeName from Employee where id="+empId+" ";
Query query =this.getSession().createQuery(hql);
List<String> list = query.list();
for(String str : list){
userName=str;
}
return userName;
2.hibernate hql语句查询二个字段(或更多的字段)
List<DropDownModel> modeList=new ArrayList<DropDownModel>();
String hql=" select id,departmentName from Department ";
Query query =this.getSession().createQuery(hql);
List<Object[]> list = query.list();
for(Object[] object : list){
DropDownModel model=new DropDownModel();
model.setId(Long.parseLong(object[0].toString()));
model.setName(object[1].toString());
modeList.add(model);
}
return modeList;
3.hibernate hql语句使用聚合函数
String hql = "select count(*) from Department where 1=1 and departmentNumber = ? " ;
Query query = this.getSession().createQuery(hql);
if (paraList != null) {
for (int i = 0; i < paraList.size(); i++) {
query.setParameter(i, paraList.get(i));
}
}
return ((Number) query.uniqueResult()).intValue();
4.hibernate hql语句查询
String sql=" from Employee where department.id = ? order by displayOrder";
public List findByCriteriaByHQL(String sqlStmt, List args) {
Query query = this.getSession().createQuery(sqlStmt);
if (args != null) {
int size = args.size();
for (int i = 0; i < size; i++) {
query.setParameter(i, args.get(i));
}
}
return query.list();
}
5.hibernate 查询oracle序列
long r = 0;
Query query = this.getSession().createSQLQuery("SELECT SEQ_SYSMGMT.nextval FROM DUAL");
List list = query.list();
if (null!=list&& list.size() > 0) {
r = Long.parseLong(list.get(0).toString());
}
return r;
6.hibernate hql语句修改部分字段
String hql=" Update OfficeReceipt set lwDept=?,repDate=?,lwWh=?,lwTitle=? where id=? ";
Object [] obj={officeReceipt.getLwDept(),officeReceipt.getRepDate(),officeReceipt.getLwWh (),officeReceipt.getLwTitle(),officeReceipt.getId()};
this.getHibernateTemplate().bulkUpdate(hql, obj);
7.hibernate hql 删除
public void DeleteOfficeNote(OfficeNote officeNote) {
String hql = "delete OfficeNote where officeId=? and empId=?";
Query query = this.getSession().createQuery(hql);
query.setLong(0, officeNote.getOfficeId());
query.setLong(1, officeNote.getEmpId());
query.executeUpdate();
}
8.hibernate查询 带参数的查询
public OfficeNote findNoteByparam(OfficeNote officeNote) {
OfficeNote note=null;
String hql=" from OfficeNote t where t.officeId=? and empId=? ";
Object [] obj ={officeNote.getOfficeId(),officeNote.getEmpId()};
List list=this.getHibernateTemplate().find(hql, obj);
if(null!=list&&list.size()>0){
note=(OfficeNote)list.get(0);
}
return note;
}
9.Hibernate sql查询
String sql=" select e.id as id,e.name as name,e.address as address,d.id as deptId,d.dep_name as deptName from emp_info e left join dep_info d on e.dep_id=d.id ";
Session session =this.getSession();
try{
SQLQuery sqlquery=(SQLQuery)session.createSQLQuery(sql).setResultTransformer(Transformers.aliasToBean(MsgInfo.class));
sqlquery.addScalar("id",Hibernate.INTEGER);
sqlquery.addScalar("name",Hibernate.STRING);
sqlquery.addScalar("address",Hibernate.STRING);
sqlquery.addScalar("deptId",Hibernate.INTEGER);
sqlquery.addScalar("deptName",Hibernate.STRING);
List list=sqlquery.list();
for(int i=0;i<list.size();i++){
MsgInfo msgInfo=(MsgInfo)list.get(i);
msgList.add(msgInfo);
}
}catch(Exception ce){
ce.printStackTrace();
}
10.Hibernate sql查询2
DetentionWayBillDetail wayBillDetail=null;
String sql=" SELECT T.WAYBILL_NO waybillNo,T.CHECK_RESULT chkResult,T.IS_FOLLOW isFollow,T.CHK_PERSON chkPerson," +
" CAST(T.CREATE_TIME AS TIMESTAMP) createTime FROM TM_DETEN_CHECKRESULT T WHERE T.WAYBILL_NO= ? ";
Query query=session.createSQLQuery(sql);
query.setParameter(0, waybillNo);
List resultList=query.list();
if(null!=resultList&&resultList.size()>0)
try{
Object[] result = (Object[]) resultList.get(0);
wayBillDetail=new DetentionWayBillDetail();
wayBillDetail.setWaybillNo((String) result[0]);
wayBillDetail.setChkResult((String)result[1]);
if("N".equals(result[2])){
wayBillDetail.setIsFollow("否");
}else{
wayBillDetail.setIsFollow("是");
}
wayBillDetail.setChkPerson((String)result[3]);
wayBillDetail.setCreateTime((Date)result[4]);
11.Hibernate sql插入
String sql=" INSERT INTO TM_WORKTIME_CONFIG(WORK_ID,AREA_CODE,WORK_START_TIME,WORK_END_TIME,DEPT_CODE," +
" EMP_NO,CREATE_TIME,EFFECTIVE_TIME) VALUES(SEQ_SYSMGMT.nextval,?,?,?,?,?,?,?)";
Query query=this.getSession().createSQLQuery(sql);
List<Object> paramList=new ArrayList<Object>();
paramList.add(workTimeConfig.getAreaCode());
paramList.add(workTimeConfig.getWorkStartTime());
paramList.add(workTimeConfig.getWorkEndTime());
paramList.add(workTimeConfig.getDeptCode());
paramList.add(workTimeConfig.getEmpNo());
paramList.add(new Date());
paramList.add(workTimeConfig.getEffecTiveTime());
Object[] values = paramList.toArray();
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
query.executeUpdate();
12.hibernate 分页查询方法
public List<TransferOnTime> findTransferOnTimeByParam(final QueryParam queryParam,String [] deptValue,int deptLevel)throws DaoException{
final List<Object> paramList=new ArrayList<Object>();
final String sqlString = generateSQL(queryParam,paramList,deptValue,deptLevel);
return (List<TransferOnTime>) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
Query query = session.createSQLQuery(sqlString);
query.setFirstResult(queryParam.getPageSize()*(queryParam.getPageIndex()));
query.setMaxResults(queryParam.getPageSize());
if (paramList != null && paramList.size() > 0) {
Object[] values = paramList.toArray();
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
return findTransferOnTimeResult(query.list(),queryParam);
}
});
}
private List<TransferOnTime> findTransferOnTimeResult(List<Object[]> transferValue,QueryParam queryParam){
List<TransferOnTime> transferOnTimeList=new ArrayList<TransferOnTime>();
//查询类型
String typeId=queryParam.getQueryValue("query_sumeryType");
TransferOnTime transferOnTime=null;
for(int i=0;i<transferValue.size();i++){
transferOnTime=new TransferOnTime();
Object [] transferObj=transferValue.get(i);
if(TdMonitorConstants.QUERY_BATCHCODE.equals(typeId)){
this.setBatchCodeInfo(transferOnTime, transferObj, queryParam);
}else{
this.setAreaAndTransfer(transferOnTime, transferObj, queryParam);
}
this.setMainlineVehicleLoadCapacity(transferOnTime);
transferOnTimeList.add(transferOnTime);
}
return transferOnTimeList;
}
13.HIbernate sql 修改
public void updateCommentDetail(final TimeCommitment commitment) {
final String sql=SQLProvider.getSQL("updateTimeDtl").trim();
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, commitment.getAuditDay());
query.setParameter(1, commitment.getAuditDay());
query.setParameter(2, commitment.getAuditTime());
query.setParameter(3, commitment.getIsUpdate());
query.setParameter(4, commitment.getEditEmp());
query.setParameter(5, commitment.getEditTime());
query.setParameter(6, commitment.getEditInfo());
query.setParameter(7, commitment.getProduceType());
query.setParameter(8, commitment.getSrcZoneCode());
query.setParameter(9, commitment.getDestCityCode());
query.setParameter(10, commitment.getBatchCode());
query.setParameter(11, commitment.getVersionDt());
query.executeUpdate();
return null;
}
});
}
14.HIbernate sql 删除
public void deleteMissInfo(final String plateNumber, final String checkZoneCode,
final String doubtMissTime) throws Exception {
final String sql=this.generteMissTimeSql(plateNumber);
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
SQLQuery query = session.createSQLQuery(sql);
query.setParameter(0, checkZoneCode);
query.setParameter(1, doubtMissTime+":00");
query.setParameter(2, doubtMissTime+":59");
query.setParameter(3, plateNumber);
query.executeUpdate();
return null;
}
});
}
相关推荐
本文将深入探讨如何使用Hibernate进行数据表中的部分字段查询,这在实际开发中是非常常见的需求。 首先,理解Hibernate的核心概念:实体(Entity)、持久化类(Persistent Class)和映射文件(Mapping File)。实体...
在这个“springMVC+hibernate的条件查询加分页的demo”中,我们将探讨如何结合这两个框架实现动态的条件查询和分页功能。 首先,让我们了解一下SpringMVC中的条件查询。在SpringMVC中,通常通过Controller层接收...
HQL支持各种复杂的查询,如连接查询、分组查询、子查询等。例如,我们可以用以下HQL语句查询所有未删除的用户: ```java String hql = "from User u where u.deleted = false"; Query<User> query = session....
5. **多态查询的实现**:Hibernate支持使用`DetachedCriteria`或`Criteria` API来进行多态查询,通过`createCriteria()`方法指定父类,并使用`add(Restrictions.in("property", values))`等方法来限制查询条件。...
在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM)功能,使得开发者能够以面向对象的方式来处理...
总之,这个实例是一个很好的学习平台,它不仅展示了基本的CRUD操作,还涵盖了更高级的多对一查询和部分删除功能,这对于初学者理解Struts和Hibernate的整合使用非常有帮助。通过实际操作这个实例,开发者能够加深对...
6. **投影(Projection)**:不同于传统的返回完整实体,Projection允许我们只获取查询结果的一部分,比如特定字段的值或者计算结果。 7. **动态实体(Dynamic Instantiation)**:在某些情况下,我们可能不知道...
这篇博客探讨了如何在Hibernate3中通过原生SQL获取部分字段,并将这些数据映射到具体的对象实例。 首先,原生SQL查询允许开发者绕过Hibernate的HQL(Hibernate Query Language),直接使用数据库的SQL语法进行查询...
在 Hibernate 中,执行查询操作的主要方式之一是使用 Hibernate 查询语言(HQL)。 HQL 是一种面向对象的查询语言,它支持标准 SQL 的大部分功能,并添加了一些额外的功能,如对象导航、集合投影等。本文将深入探讨...
【hibernate动态分表】是一种数据库设计策略,主要用于处理大数据量的问题,通过将数据分散到多个物理表中,以实现水平扩展,提高查询效率,减轻单表的压力。在Java Web开发中,Hibernate作为一款流行的ORM(对象...
4. **Criteria查询**:这是Hibernate提供的API,可以动态构造查询条件。通过`Criteria.createCriteria()`创建Criteria对象,然后使用`add()`方法添加查询条件,最后调用`list()`或`uniqueResult()`执行查询。 5. **...
- 使用`Session.createQuery()`或`Session.createCriteria()`进行HQL或Criteria查询,返回Query或Criteria对象,可以进一步设置条件、排序等,然后调用`list()`或`uniqueResult()`执行查询。 2. **更新操作**: -...
Hibernate作为一款优秀的Java持久层框架,提供了多种方式来进行数据库操作,其中包括HQL(Hibernate Query Language)、Criteria API以及Native SQL等。其中,Criteria API由于其简洁的API设计和强大的查询能力,受...
总结来说,Hibernate QBC查询是一种强大的查询机制,它通过Criteria API和Expression类提供了丰富的查询表达式,使得开发人员可以在不直接接触SQL的情况下进行复杂的数据库操作。这种面向对象的查询方式不仅简化了...
1. **使用`in`关键字**:如果需要查询符合多个条件的记录,可以结合`in`关键字。例如,查询所有名字以"张"或"李"开头的用户: ```java String[] names = {"%张%", "%李%"}; query.setParameterList("name", names);...
它可以执行更复杂的查询,例如关联查询、聚合函数、子查询等。 **7. Hibernate事务处理** 在Hibernate中,可以通过Session的beginTransaction()、commit()和rollback()方法管理事务。事务是数据库操作的基本单元,...
除了基本的条件和排序,DetachedCriteria还可以进行子查询、连接查询、分组聚合等复杂操作。例如,你可以使用`createCriteria()`方法来建立关联查询,或者使用`setProjection()`设置分组或聚合函数。 **7. 总结** ...
投影是指选择查询结果中的部分字段,可以使用HQL的SELECT子句或Criteria的Projection功能。别名则是为查询结果的属性设置一个别名,方便在结果集中引用。 6. **统计查询** Hibernate支持COUNT、AVG、MAX、MIN和...