栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis-plus实现自定义SQL、多表查询、多表分页查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis-plus实现自定义SQL、多表查询、多表分页查询

前言

本文介绍了在mybatis-plus中如何实现:自定义SQL语句,多表查询语句,多表分页查询语句

在说怎么实现之前我们要先明白一个概念,就是mybatis-plus是在mybatis的基础上进行增强,并不做改变,所以mybatis的操作在mybatis-plus中也是一样可以使用的,咱们直接上代码

文章目录
  • 前言
  • 1、自定义SQL
  • 2、多表查询
  • 3、多表分页查询
  • 4、多表分页条件查询


1、自定义SQL

在mapper中自定义一个方法即可

@Repository
public interface UserMapper extends BaseMapper {
    @Select("select * from edu_teacher")
    EduTeacherMapper selectUserList();
}

然后要调用该方法的话,通过注入mapper,然后通过mapper调用方法即可

@Service
public class EduTeacherServiceImpl extends ServiceImpl implements EduTeacherService {

    @Autowired
    private EduTeacherMapper teacherMapper;

    public EduTeacher selectTheacher(){
        return teacherMapper.selectTheacher();
    }
}

2、多表查询

多表查询和自定义SQL是一样写的,唯一区别就是需要创建一个 vo类来接收数据即可。

@Repository
public interface EduTeacherMapper extends BaseMapper {
   @Select("SELECT * FROM edu_teacher t1 INNER JOIN edu_course t2 ON t1.id = t2.teacher_id")
   EduTeacherVo selectTheacher();
}
3、多表分页查询

分页查询的话就需要用到Page了
1、需要先创建一个配置类,然后在配置类中引入分页插件(固定代码)

@Configuration                  
public class MpConfig {
    
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
}

2、mapper代码如下:

public interface EduTeacherMapper extends BaseMapper {
    @Select("select * from edu_teacher")
    IPage selectTheacher(Page page);
}

3、serviceImpl实现类代码如下:

@Service
public class EduTeacherServiceImpl extends ServiceImpl implements EduTeacherService {

    @Autowired
    private EduTeacherMapper teacherMapper;

    public void selectTheacher(){
        //1代表当前页数,10代表每页数据的数量
        Page page = new Page<>(1,10);
        IPage eduTeacherIPage = teacherMapper.selectTheacher(page);

        System.out.println(eduTeacherIPage.getCurrent());  //当前页
        System.out.println(eduTeacherIPage.getPages());    //每页数据 是一个List集合
        System.out.println(eduTeacherIPage.getSize());     //每页显示记录数
        System.out.println(eduTeacherIPage.getTotal());    //总记录数
    }
}

4、多表分页条件查询

多表分页条件查询只是在多表分页查询的基础上增加了条件筛选而已
其它步骤都和多表分页查询一样,只要在mapper中写sql的时候多加条件参数就可以了。注意:如果使用了动态SQL,那么该sql语句一定要使用script标签包裹

@Select("")
IPage selectAdLogisticsList(@Param("page") IPage page, @Param("adLogisticsVo") AdLogisticsVo adLogisticsVo);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/862700.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号