• springboot2 mybatis-plus 自定义查询


    使用的是mybatis-plus代码生成器生成的文件

    1、在mapper接口文件中使用如下方式定义:(有点复杂,删了不少,但功能比较全了,理解灵魂)

    @Select({"<script>",
                "SELECT",
                "DR.id",  // 删了很多,查询的值,标题为id
                "DR.type AS type",  // ... 查询的值,重命名为type
                "DATE_FORMAT(DR.date,'%Y-%m-%d %H:%i:%s') AS time",  // 返回的日期格式
                "FROM table DR",
                "INNER JOIN table_one D ON DR.one_id = D.id",  // 内联查询
                "LEFT JOIN table_two UM ON DR.two_id = UM.id",
                "LEFT JOIN table_two UR ON DR.man_id = UR.id",
                "WHERE DR.teamId = #{teamId} and DR.state = 1",
                "<when test='userId != null'> AND DR.userId = #{userId} </when>",  // 根据参数增加条件
           "<when test='date != null'> AND DR.date BETWEEN STR_TO_DATE(CONCAT(#{date}, ' 00:00:00'),'%Y-%m-%d %H:%i:%s') AND STR_TO_DATE(CONCAT(#{date}, ' 23:59:59'),'%Y-%m-%d %H:%i:%s') </when>", // 时间段 "ORDER BY DR.date DESC",  // 排序 "LIMIT #{start}, #{count}",  // 分页 "</script>",}) List<Map> getList(@Param("teamId") String teamId, @Param("start") Integer start, @Param("count") Integer count, @Param("userId") String userId, @Param("state") Integer state, @Param("date") String date, );

    2、在实现类中如此调用:

    public List<Map> getList(
                String teamId,
                Integer start,
                Integer count,
                String userId,
                Integer state,
                String date,
        ) {
            return this.baseMapper.getList(teamId, start, count, userId, state, date);
        }

    3、接口中使用时注入实现类,调用实现类方法,传入参数。

  • 相关阅读:
    说说移动端web开发中的点击穿透问题
    将博客搬至CSDN
    IIS(4)
    IIS(2)
    IIS(3)
    IIS(1)
    链表
    常用到的关键字
    进程与线程
    文件系统的原理
  • 原文地址:https://www.cnblogs.com/SamNicole1809/p/12097728.html
Copyright © 2020-2023  润新知