逸轩居士 发表于 2018-6-29 12:32:31

minidao的SQL文件怎么写批量查询的SQL语句

前台返回50条yundan后台的Controller也接收到了50条yundan,最后执行SQL语句时只是查到了最后一条的信息其他49没有查出来,请问这个SQL语句怎么写呀?
dao:
@Arguments({"trans"})
    @ResultType(TransitReport.class)
    public List<TransitReport> getTransitReportsByManyId(List<TransitReport> trans);

SQL文件:
select * from buss where c.status=1
<#if trans ?? && trans ? size gt 0>
<#list trans as transit>
and yundan_NO in (${transit.yundan})
</#list>
</#if>

admin 发表于 2018-6-29 12:51:30

方案一:通过表达式,简单易用
http://minidao.mydoc.io/?t=300146



方案二:通过freemaker循环select * from buss where c.status=1
and yundan_NO in
<#if trans ?? && trans ? size gt 0>
(
<#list trans as transit>
'${transit.yundan}',
</#list>
)
</#if>

逸轩居士 发表于 2018-6-29 13:21:08

谢谢

余生都是你 发表于 2019-11-5 16:06:44

admin 发表于 2018-6-29 12:51 static/image/common/back.gif
方案一:通过表达式,简单易用
http://minidao.mydoc.io/?t=300146



第二种方案要把最后一个逗号去掉,不然SQL报错SELECT * FROM USER WHERE uid in
<#if ids ?? && ids? size gt 0 >
(
<#list ids as id>
${id}<#if id_has_next>,</#if>
</#list>
)
</#if>
页: [1]
查看完整版本: minidao的SQL文件怎么写批量查询的SQL语句