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') &gt;= #{createTimeStartStr}  时间查询 </if>
    <if test="createTimeEndStr !=null and createTimeEndStr !=''">
        AND FROM_UNIXTIME(m.createTime,'%Y%m%d') &lt;= #{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>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM