mybatis @Select注解中如何拼写动态sql
来源:互联网 发布:韩国女团饭拍软件 编辑:程序博客网 时间:2024/06/07 18:00
package cn.erongcai.hrplatform.dao.demand;import java.util.List;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import com.baomidou.mybatisplus.mapper.BaseMapper;import cn.erongcai.hrplatform.model.demand.DemandComment;@Mapperpublic interface DemandCommentMapper extends BaseMapper<DemandComment>{@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<DemandComment> listDemandComment(@Param("demandId") Long demandId, @Param("startNo") Integer pageNo, @Param("pageSize") Integer pageSize);}
这样整个语句是写死的,如果我想根据pageNo与pageSize是否为空来判断是否需要分页,该怎么做呢?
如果使用xml来配置的话可以用
<when test='startNo!=null and pageSize != null '> LIMIT #{startNo},#{pageSize}</when>如果是用@Select 这种该如何做呢?
方法:用script标签包围,然后像xml语法一样书写
package cn.erongcai.hrplatform.dao.demand;import java.util.List;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import com.baomidou.mybatisplus.mapper.BaseMapper;import cn.erongcai.hrplatform.model.demand.DemandComment;@Mapperpublic interface DemandCommentMapper extends BaseMapper<DemandComment>{@Select("<script>"+ "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 "+ "<if test='startNo!=null and pageSize != null '>"+ "LIMIT #{startNo},#{pageSize}"+ "</if>"+ "</script>")public List<DemandComment> listDemandComment(@Param("demandId") Long demandId, @Param("startNo") Integer pageNo, @Param("pageSize") Integer pageSize);}
阅读全文
1 0
- mybatis @Select注解中如何拼写动态sql
- mybatis注解动态sql
- mybatis常用sql拼写
- SQL 中如何拼写时间类型
- mybatis注解实现动态sql
- Mybatis的动态sql-----注解
- Mybatis中动态SQL
- MyBatis中动态SQL
- MyBatis注解应用之动态SQL语句
- Mybatis之注解动态拼接sql
- MyBatis注解应用之动态SQL语句
- Mybatis的动态sql详解,区别于传统的sql拼写
- Mybatis中执行String类型的自己拼写的sql,不执行配置文件中的sql
- Mybatis中执行String类型的自己拼写的sql,不执行配置文件中的sql
- mybatis中关于使用注解来完成动态SQL拼接的解决办法
- MyBatis注解select in参数
- MyBatis注解select in参数
- MyBatis框架基于Annotation注解的动态SQL
- Neural Networks(神经网络)
- CentOS 7安装配置FTP服务器
- unbuntu亮度调节
- 泛函分析简列:度量空间之线性空间及线性空间距离
- Linux 查看g++ 默认include路径
- mybatis @Select注解中如何拼写动态sql
- 微服务框架Spring Cloud介绍 Part5: 在微服务系统中使用Hystrix, Hystrix Dashboard与Turbine
- 34.ifstat
- 电脑工作环境必备
- jquery中怎么删除<ul>中的整个<li>包括节点
- redis(14)——集群的搭建
- MySql批量生成数据(循环插入)
- 【状压DP】【cofun1155】奶牛乘电梯
- 使用cmd连接操作ftp服务器