当我用$value$的时候会报
org.apache.cxf.interceptor.Fault: Marshalling Error: java.sql.SQLException is not known to this context只是我查询的时候group by了把这个字段,但是我下面还有个条件也是用的$$并没有报错。<select id="allOrgTrandeInfoCount" parameterClass="java.util.HashMap" resultClass="int">
select count(*) from (select 1 from query.v_allorg_trace_test a
where 1=1
<isNotEmpty prepend="and" property="outCDNo">
a.OUTCDNO in ($outCDNo$)
</isNotEmpty>
<isNotEmpty prepend="and" property="inCDNo">
a.INCDNO in ($inCDNo$)
</isNotEmpty>
<isNotEmpty prepend="and" property="trdDateStart">
a.TRDDATE >= #trdDateStart#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdDateEnd">
a.TRDDATE <= #trdDateEnd#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdTimeStart">
a.TRDTIME >= #trdTimeStart#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdTimeEnd">
a.TRDTIME <= #trdTimeEnd#
</isNotEmpty>
<!--
<isNotEmpty prepend="and" property="catName">
a.CAT_NAME = #catName#
</isNotEmpty>
<isNotEmpty prepend="and" property="proAm">
a.PRO_AM = #proAm#
</isNotEmpty>
-->
<isNotEmpty prepend="and" property="terminalId">
a.TERMINAL_ID = #terminalId#
</isNotEmpty>
<isNotEmpty prepend="and" property="sNo">
a.S_NO = #sNo#
</isNotEmpty>
<!--
<isNotEmpty prepend="and" property="totalAm">
a.TOTAL_AM = #totalAm#
</isNotEmpty>
-->
<isNotEmpty prepend="and" property="pasm">
a.PASM = #pasm#
</isNotEmpty>
<isNotEmpty prepend="and" property="orgList">
(a.OUT_BANK_ID in ($orgList$) or a.IN_BANK_ID in ($orgList$) )
</isNotEmpty>
group by a.OUTCDNO, a.inCDNo,a.pasm,a.cat_Name,a.TERMINAL_ID,a.S_NO, a.TOTAL_AM ,a.pro_Am,a.total_Am,a.trdDate,a.trdTime,a.data_date) </select>代码是这样的。
org.apache.cxf.interceptor.Fault: Marshalling Error: java.sql.SQLException is not known to this context只是我查询的时候group by了把这个字段,但是我下面还有个条件也是用的$$并没有报错。<select id="allOrgTrandeInfoCount" parameterClass="java.util.HashMap" resultClass="int">
select count(*) from (select 1 from query.v_allorg_trace_test a
where 1=1
<isNotEmpty prepend="and" property="outCDNo">
a.OUTCDNO in ($outCDNo$)
</isNotEmpty>
<isNotEmpty prepend="and" property="inCDNo">
a.INCDNO in ($inCDNo$)
</isNotEmpty>
<isNotEmpty prepend="and" property="trdDateStart">
a.TRDDATE >= #trdDateStart#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdDateEnd">
a.TRDDATE <= #trdDateEnd#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdTimeStart">
a.TRDTIME >= #trdTimeStart#
</isNotEmpty>
<isNotEmpty prepend="and" property="trdTimeEnd">
a.TRDTIME <= #trdTimeEnd#
</isNotEmpty>
<!--
<isNotEmpty prepend="and" property="catName">
a.CAT_NAME = #catName#
</isNotEmpty>
<isNotEmpty prepend="and" property="proAm">
a.PRO_AM = #proAm#
</isNotEmpty>
-->
<isNotEmpty prepend="and" property="terminalId">
a.TERMINAL_ID = #terminalId#
</isNotEmpty>
<isNotEmpty prepend="and" property="sNo">
a.S_NO = #sNo#
</isNotEmpty>
<!--
<isNotEmpty prepend="and" property="totalAm">
a.TOTAL_AM = #totalAm#
</isNotEmpty>
-->
<isNotEmpty prepend="and" property="pasm">
a.PASM = #pasm#
</isNotEmpty>
<isNotEmpty prepend="and" property="orgList">
(a.OUT_BANK_ID in ($orgList$) or a.IN_BANK_ID in ($orgList$) )
</isNotEmpty>
group by a.OUTCDNO, a.inCDNo,a.pasm,a.cat_Name,a.TERMINAL_ID,a.S_NO, a.TOTAL_AM ,a.pro_Am,a.total_Am,a.trdDate,a.trdTime,a.data_date) </select>代码是这样的。
hibernate会的话,这个一晚
不要使用$
这样有SQL注入的危险
resultClass指待执行后结果封装为那种对象。
但是如果用$value$就不行了 因为如果是string类型的话##会根据数据类型自动加上"",而$$不会。 你可以试试看。祝成功~