分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

Hibernate-04

发布时间:2023-09-06 02:21责任编辑:蔡小小关键词:Hibernate

HQL查询语法

  

查询:
public class Dome{ ?????Session session = HibernaeUitls.openSession(); ?????Transaction tx = session.beginTransaction(); ?????//待执行执行sql    String hql = "from User";
   ??String hqls = "from cn.it.User"//类路径下
   //排序查询
    String Orderby = "from cn.it.User Order by ?u_id asc";
    String Orderby2 = "from cn.it.User Order by ?u_id desc";
   //条件查询
    String Wherehql = "from cn.it.User where u_id = ?";
    String wherehql = "from cn.it.User where u_id =:id";
    
?????//创建查询对象 ?????Query query = session.createQuery(hql); ?????List list = query.list(); ?????System.out.println(list); ?????//提交事务 ??????tx.commit(); ??????????//关闭session ??????session.close(); ???}
//分页public void fun4(){ ???????Session session = HibernateUtils.openSession(); ???????Transaction tx = session.beginTransaction(); ???????//---------------------------------------------------- ???????String hql1 = " from ?cn.it.User ?";//完整写法 ???????????????Query query = session.createQuery(hql1); ???????????????//limit ?,? ???????// (当前页数-1)*每页条数 ???????query.setFirstResult(4); ???????query.setMaxResults(5); ???????????????List list = query.list(); ???????????????System.out.println(list); ???????//---------------------------------------------------- ???????tx.commit(); ???????session.close(); ???????????}

聚合查询:count,sum ,svg,max,min

public void fun5(){ ???????Session session = HibernateUtils.openSession(); ???????Transaction tx = session.beginTransaction(); ???????//---------------------------------------------------- ???????String hql1 = " select count(*) from ?cn.it.User "; ???????String hql2 = " select sum(cust_id) from ?cn.it.User ?"; ???????String hql3 = " select avg(cust_id) from ?cn.it.User ?"; ???????String hql4 = " select max(cust_id) from ?cn.it.User ?"; ???????String hql5 = " select min(cust_id) from ?cn.it.User ?"; ???????????????Query query = session.createQuery(hql5); ???????????????Number number ?= (Number) query.uniqueResult(); ???????????????System.out.println(number); ???????//---------------------------------------------------- ???????tx.commit(); ???????session.close(); ???????????}

投影查询

public void fun6(){ ???????Session session = HibernateUtils.openSession(); ???????Transaction tx = session.beginTransaction(); ???????//----------------------------------------------------// ???????String hql1 = " select u_name from ?cn.it.User ?"; ???????String hql2 = " select u_name,u_id from ?cn.it.User ?"; ???????String hql3 = " select new User(u_id,u_name) from ?cn.it.User ?"; ???????????????Query query = session.createQuery(hql3); ???????????????List list = query.list(); ???????????????System.out.println(list); ???????????????//----------------------------------------------------// ???????tx.commit(); ???????session.close(); ???????????}

Criteria查询语法:和HQL一样的也是面向对象的ORM查询

简单查询:
public void fun(){ ????Session session = HibernateUtils.openSession(); ????Transaction tx = session.beginTransaction(); ???//-------------------------------------------------- ????User c = session.createCritreria(User.class); ????List <User> list = c.list(): ???System.out.println(list); ???//-------------------------------------------------- ????tx.commit(); ???session.clone(); ???????}
#条件查询----------//---------------------------------------------------------------Criteria c = session.createCriteria(User.clsss);//添加c.add(Restrictions.eq("u_id",32));List<User> list = c.list();System.out.println(list);//---------------------------------------------------------------tx.commit();session.close();
#分页----------//---------------------------------------------------------------Criteria c = session.createCriteria(User.clsss);c.setFirstResult(1);c.setMaxResult(4);List<User> list = c.list();System.out.println(list);//---------------------------------------------------------------tx.commit();session.close();
#排序//---------------------------------------------------------------Criteria c = session.createCriteria(User.clsss);c.addOrder(Order.asc("u_id"));//c.addOrder(Order.desc("u_id"));List<User> list = c.list();System.out.println(list);//---------------------------------------------------------------tx.commit();session.close();
统计//---------------------------------------------------------------Criteria c = session.createCriteria(User.clsss);c.setProjection(Projections.rowCount());List<User> list = c.list();System.out.println(list);//---------------------------------------------------------------tx.commit();session.close();

离线Criteria

Public void fun(){ ????DetachedCriteria dc = DetachedCriteria.forClass(User.class); ????dc.add(Restrictions.idEq(61)); ???//------------------------------------------------------------- ???????Session session = HibernateUtils.openSession(); ????Transaction tx = session.beginTransaction(); ????//----------------------------------------------------------- ????Criteria c = dc.getExecutableCriteria(session); ???????List list = c.list(); ????System.out.println(list); ????//------------------------------------------------------------- ????tx.commit(); ????session.close();} ???????

查询优化

Hibernate-04

原文地址:https://www.cnblogs.com/jackerzhou/p/9906718.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved