mybatis @Select注解中如何拼写动态sql

@Mapper
public interface DemandCommentMapper extends BaseMapper{
@Select("SELECT "
+ “a.id as ‘id’,a.create_date as ‘createDate’,a.content as ‘content’,”
+ “a.parent_id as ‘parentId’,a.first_comment_id as ‘firstCommentId’,”
+ “b.id as ‘fromUser.id’,b.realname as ‘fromUser.realname’,b.avatar as ‘fromUser.avatar’,”
+ "c.id as ‘toUser.id’,c.realname as ‘toUser.realname’,c.avatar as ‘toUser.avatar’ "
+ "FROM t_demand_comment a "
+ "LEFT JOIN t_user b ON b.id = a.from_uid "
+ "LEFT JOIN t_user c ON c.id = a.to_uid "
+ "WHERE a.demand_id = #{demandId} "
+ “ORDER BY a.create_date ASC”
+ “LIMIT #{startNo},#{pageSize}”)
public List listDemandComment(@Param(“demandId”) Long demandId,
                             @Param(“startNo”) Integer pageNo,
                             @Param(“pageSize”) Integer pageSize);
复制代码
  这样整个语句是写死的,如果我想根据pageNo与pageSize是否为空来判断是否需要分页,该怎么做呢?

如果使用xml来配置的话可以用

LIMIT #{startNo},#{pageSize}   如果是用@Select 这种该如何做呢?

方法:用script标签包围,然后像xml语法一样书写

复制代码
@Mapper
public interface DemandCommentMapper extends BaseMapper{
@Select("”)
public List listDemandComment(@Param(“demandId”) Long demandId,
                             @Param(“startNo”) Integer pageNo,
                             @Param(“pageSize”) Integer pageSize);
复制代码
  项目实例

复制代码
  @Select("")
public List getTaobao(@Param(“status”) Integer status);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术宅program

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值