在Hibernate中query.setParameter的两种传参方式

原创 2016年08月30日 11:14:12

方式一:

select
        h.regionid regionid,
        r.region_name regionidName,
        h.pubdate pubdate,
        xlcl.f_gtDayAmount(h.regionid,
        h.pubdate,
        0) localAmount,
        XLCL.f_gtDayAmount(h.regionid,
        h.pubdate,
        1) otherAmount,
        XLCL.f_gtDayAmount(h.regionid,
        h.pubdate,
        2) interAmount,
        sum(staynum) totalAmount
    from
        xlcldata.mfs_history_day h
    inner join
        xlclgis.mfb_region r  
            on h.regionid=r.id  
    where
        h.areacode is not null
        and r.pid=0  
        and h.pubdate=?
    group by
        h.regionid,
        h.pubdate,
        r.region_name
    order by
        totalAmount asc

忽略sql中的逻辑关系,有没有发现sql中的问号?那么在sql中传参查询时利用setParameter方法进行传参,具体如下:

query.setParameter("0",queryDate);//queryDate为日期对象

方式二:

把sql语句中问号那一行改为

and h.pubdate=:dateTime

那么传参方式为:

query.setParameter("dateTime",queryDate);

在实际工程项目中,第一种传参方法要多一些

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hibernate的SQLQuery与Query占位符传参

Hibernate支持SQLQuery(特定数据库平台有关的sql语句)和Query(hql)查询方式,当然还有Criteria对象查询方式;本文介绍SQLQuery和Query的几种传参的方式和注意...

C++11: unordered_map实例化时传参的两种方式

【原文链接】http://oopscenities.net/2012/01/20/c11-unordered-maps/

Hibernate检索方式之QBC(Query By Criteria)

QBC查询方式,是通过Criteria接口来进行查询的。Criteria接口完全封装了基于字符串形式的查询语句,跟Query接口相比,它更加面向对象,所以用Criteria接口进行查询时,不在需要定义...

hibernate预编译SQL语句中的setParameter和setParameterList

使用预编译SQL语句和占位符参数(在jdbc中是?),能够避免因为使用字符串拼接sql语句带来的复杂性。我们先来简单的看下,使用预编译SQL语句的好处。使用String sql = "select *...

Hibernate检索方式之HQL(Hibernate Query Language)

Hibernate配备了一种非常强大的查询语言 — HQL,这种语言看上去很像SQL,但是不要被语法结构上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询。在Hibernate的众多查询方...

Hibernate的XML和annotation两种方式简单例子

Hibernate概述: ORM的全称Object/Relation Mapping ,对象/关系数据库映射。可以理解是一种规范,基本特征是完成面向对象的编程语言到关系数据库的映射。 Hi...

Hibernate关系映射之多对多映射的两种方式

多对多关系##many-to-many 应用场景:不建议使用,建议拆解成两个“一对多”连接 关系定义(主控方): //xml映射方法 <many-to-many class=...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)