[英]how to create a query in mybatis_dynamic_sql for TO_CHAR(USE_BY_DATE - ?,'YYYYMMDD') >=TRUNC(SYSDATE)
我想在mybatis_dynamic_sql中实现以下sql查询。
select * from xyz where TO_CHAR(some_date_col - ?,'YYYYMMDD') >=TRUNC(SYSDATE)
如果使用mapper.xml
,则select
可能如下所示。 请注意,不要声明特定的paramterType
:
<select
id="myQueryInXml"
resultType="[replace with your type]"
resultMap="[replace with the name of your resultMap]">
select * from ${tabName} where TO_CHAR(${colName} - #{paramName},'YYYYMMDD') >=TRUNC(SYSDATE)
</select>
相应的Interface
方法可能看起来像这样
boolean myQueryInXml(
@Param("colName") final String colName,
@Param("tabName") final String tabName,
@Param("paramName") final String paramName
);
如果使用批注,则Interface
方法可能如下所示
@Select("select * from ${tabName} where TO_CHAR(${colName} - #{paramName},'YYYYMMDD') >=TRUNC(SYSDATE)")
boolean myQuery(
@Param("colName") final String colName,
@Param("tabName") final String tabName,
@Param("paramName") final String paramName
);
说明
@Param("[replace with a parameter-name]")
使传递的参数在注解中的给定名称下可用
mapper.xml
$
或(例如) @Select("[query]")
注释告诉myBatis打印/使用普通参数内容。 另一方面, #
告诉myBatis“猜测”数据库类型。 例如, String
s会在''
自动变为边缘。 因此无需手动进行
请同时看看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.