zoukankan      html  css  js  c++  java
  • HQL基础查询语句

    1.使用hql语句检索出Student表中的所有列

    复制代码
    //核心代码
    @Test
    public void oneTest()
    {
      Query query=session.createQuery("form Student");
      List<Student> list=query.list();
      for(Student item:list)
     {
       System.out.println(item.getName());
     } 
        
    }
    复制代码

    2.使用hql语句语句检索出部分列

    复制代码
    //核心代码
    @Test
    public void twoTest()
    {
      Query query=session.createQuery("select name from Student");
      List<String> list=query.list();
      for(String item:list)
     {
       System.out.println(item);
     }
    }
    复制代码

    3.使用hql语句检索出多列

    复制代码
    //核心代码
    @Test
    public void threeTest()
    {
      Query query=session.createQuery("select name,age from Student");
      List<Object[]> list=query.list();
      for(Object[] item : list)
     {
       System.out.println(item[0]+"	"+item[1]);
     }
    }
    复制代码

    4.投影出多列,有构造植入,返回强类型

    复制代码
    //核心代码
    @Test
    public void fourTest()
    {
       Query query=session.createQuery("select Student(id,name,age) from Student");
    //Student(id,name,age)和实体类带参构造顺序相同 List<Student> list=query.list(); for(Student item:list) { System.out.println(item.getName()); } }
    复制代码

    5.带条件查询,匿名占位符

    复制代码
    //核心代码
    @Test
    public void fiveTest()
    {
      Query query=session.createQuery("select Student from Student where name=?");
      query.setParameter(0,"王小三");
      List<Student> list=query.list();
      for(Student item:list)
     {
       System.out.println(item.getName());
     }
    }
    复制代码

    6.带条件查询,名称占位符

    复制代码
    //核心代码
    @Test
        public void SixTest()    
        {
            Query query = session.createQuery("select Student from Student where stu.sname=:name");
            query.setParameter("name", "王小四");
            List<Student> list=query.list();
            for (Student item : list) {
                System.out.println(item.getSid());
            }
        }
    复制代码

    7.动态查询,需要新建一个工具类,用到几个属性就封装几个属性

    复制代码
    public class StudentCondition {
        private String name;
        private Integer age;
        public Integer getAge() {
            return age;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
        
    }
    复制代码
    复制代码
    //测试类核心代码
    StudentCondition condition=new StudentCondition();
            condition.setAge(25);
            condition.setName(null);
            StringBuilder sb=new StringBuilder();
            sb.append("from Student where 1=1 ");
            Student stu=new Student();
            if(condition.getAge()!=null)
            {
                sb.append(" and sage=:sage");
                stu.setSage(condition.getAge());
            }
            if(condition.getName()!=null)
            {
                sb.append(" and sname=:sname");
                stu.setSname(condition.getName());
            }
            Query query = session.createQuery(sb.toString());
            query.setProperties(stu);
            List<Student> list=query.list();
            for (Student item : list) {
                System.out.println(item.getSname());
            }
    //投影出年龄25岁的学生信息 }
    复制代码

    8.分页查询数据

    复制代码
    @Test
        public void nineTest()
        {
            String sql="from Student";
            Query query = session.createQuery(sql);
            Integer pageIndex=1;
            Integer pageSize=2;
            query.setFirstResult((pageIndex-1)*pageSize);
            query.setMaxResults(pageSize);
            List<Student> list = query.list();
            
            for (Student student : list) {
                System.out.println(student);
            }
    复制代码
  • 相关阅读:
    图片自适应浏览器窗口宽度——就是响应式图片等比缩放效果
    iconfont.cn阿里巴巴矢量图下载字体图标实战
    layer.layui.com 一个不错的弹窗层js插件库
    自定义浏览器滚动条的样式,打造属于你的滚动条风格——兼容IE和webkit(ff不支持)
    css3实战版的点击列表项产生水波纹动画——之jsoop面向对象封装版
    css3实战版的点击列表项产生水波纹动画
    一个简单版的波纹css3动画
    CSS3动画效果——js调用css动画属性并回调处理详解
    CSS3 :target伪类实现Tab切换效果 BY commy
    css :active伪类的理解
  • 原文地址:https://www.cnblogs.com/1And0/p/5826164.html
Copyright © 2011-2022 走看看