mybatis 分页排序查询
Map<String, Object> map = new HashMap<>(); Integer page = pagination.getPage(); Integer limit = pagination.getLimit(); map.put("start", (page - 1) * limit); map.put("pageNo", limit); map.put("field", pagination.getField()); map.put("order", pagination.getOrder());
<select id="querySentEmails" resultType="EmailDTO"> SELECT m.*, s.realUserName AS receiver, FROM_UNIXTIME(m.createTime,'%Y-%m-%d') AS createTimeStr 秒级时间戳转换 -> FROM_UNIXTIME(a.createTime,'%Y-%m-%d %H:%i:%s') as createTimeStr FROM mail_info_data m LEFT JOIN sys_users s ON m.receiverId = s.userId <where> m.senderDelete != 1 <if test="senderId !=null"> AND m.senderId=#{senderId} </if> <if test="title != null and title !=''"> AND m.title like concat('%',#{title},'%') 模糊查询 </if> <if test="receiver != null and receiver !=''"> AND s.realUserName like concat('%',#{receiver},'%') </if> <if test="createTimeStartStr !=null and createTimeStartStr !=''"> AND FROM_UNIXTIME(m.createTime,'%Y%m%d') >= #{createTimeStartStr} 时间查询 </if> <if test="createTimeEndStr !=null and createTimeEndStr !=''"> AND FROM_UNIXTIME(m.createTime,'%Y%m%d') <= #{createTimeEndStr} </if> </where> <choose> <when test="field !=null and field !=''"> ORDER BY ${field} ${order} 分页 </when> <otherwise> ORDER BY m.createTime desc 默认分页 </otherwise> </choose> limit #{start}, #{pageNo} </select>
故乡明
分类:
mybatis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话