博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate-ORM:07.Hibernate中的参数绑定
阅读量:6277 次
发布时间:2019-06-22

本文共 2623 字,大约阅读时间需要 8 分钟。

 

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

 

 

本篇博客会讲解Hibernate中的参数绑定,就是相当于sql语句中的where后面的条件

 

一,讲解概述

  1.通过下标的方式绑定参数

  2.通过自定义参数名的方式绑定参数(多用于多表操作)

  3.通过传入自定义对象的方式绑定参数(多用于单表操作)

  4.通过类似智能标签的方式绑定参数(多用于带条件的多表操作)

 

二,通过下标的方式绑定参数

@Test    /*通过下标的方式指定参数*/    public void t01Parameterbyunderid(){        /*模拟前台输入参数*/        Teacher teacher=new Teacher("a",400.00);        /*hql语句*/        String hql="from Teacher where address=? and sal>?";        Query query = session.createQuery(hql);        /*赋值*/        query.setParameter(0,teacher.getAddress());        query.setParameter(1,teacher.getSal());        /*查询*/        List list = query.list();        /*遍历*/        for (Object t:list) {            System.out.println(t);        }    }

 

三,通过自定义参数名的方式绑定参数(多用于多表操作)

@Test    /*通过自定义参数名的方式指定参数*/    public void t02Parameterbymyselfkey(){        /*模拟前台输入参数*/        Teacher teacher=new Teacher("a",400.00);        /*hql语句*/        String hql="from Teacher where address=:teaAdd and sal>:teasal";        Query query = session.createQuery(hql);        /*赋值*/        query.setParameter("teaAdd",teacher.getAddress());        query.setParameter("teasal",teacher.getSal());        /*查询*/        List list = query.list();        /*遍历*/        for (Object t:list) {            System.out.println(t);        }    }

 

四,通过传入自定义对象的方式绑定参数(多用于单表操作)

@Test    /*通过自定义对象的方式指定参数*/    /*适合单表操作*/    public void t03ParameterbymyselfObject(){        /*模拟前台输入参数*/        Teacher teacher=new Teacher("a",400.00);        /*hql语句*/        String hql="from Teacher where address=:address and sal>:sal";        Query query = session.createQuery(hql);        /*赋值*/        query.setProperties(teacher);        /*查询*/        List list = query.list();        /*遍历*/        for (Object t:list) {            System.out.println(t);        }    }

 

五,通过类似智能标签的方式绑定参数(多用于带条件的多表操作)

@Test    /*通过自定义参数名的方式指定动态参数*/    /*适合多表操作*/    public void t04ParameterbyDongtai(){        /*模拟前台输入参数*/        Teacher teacher=new Teacher("a",400.00);        /*hql语句*/        StringBuffer hql=new StringBuffer("from Teacher where 1=1 ");        if(teacher.getAddress()!=null){            hql.append("and address=:teaAdd ");        }        if(teacher.getSal()>0){            hql.append("and sal>:teasal ");        }        Query query = session.createQuery(hql.toString());        /*赋值*/        query.setParameter("teaAdd",teacher.getAddress());        query.setParameter("teasal",teacher.getSal());        /*查询*/        List list = query.list();        /*遍历*/        for (Object t:list) {            System.out.println(t);        }    }

 

转载于:https://www.cnblogs.com/DawnCHENXI/p/9102063.html

你可能感兴趣的文章
WIND2003 安装Zend studio 报错
查看>>
【leetcode】71. Simplify Path
查看>>
json小结和fastjson包的实际json操作
查看>>
搭wordpress时的几个坑。
查看>>
Ubuntu下软件安装的几种方式,apt,dpkg工具的使用
查看>>
spark-shell 显示乱码
查看>>
网站架构核心设计知识(三)之高并发
查看>>
数据结构顺序队列打卡
查看>>
九九乘法表程序设计
查看>>
组合数学 - 1的个数
查看>>
2440启动流程
查看>>
C函数调用
查看>>
2017-2018-1 20155229 《信息安全系统设计基础》第一周学习总结
查看>>
C 语言 mmap
查看>>
小数化分数的O(log2n)解法
查看>>
Fakeapp2.2安装,使用简记--------------转载自iJessie
查看>>
POJO与JavaBean的区别
查看>>
CoreDataManager-Swift版-兼容iOS10以前的版本
查看>>
Dynamic seq2seq in tensorflow
查看>>
96. Unique Binary Search Trees
查看>>