1. 程式人生 > 實用技巧 >Mybatis Plus 自定義sql

Mybatis Plus 自定義sql

匯入依賴(mybatis-plus的版本要大於3.1.2,這裡使用的是3.2.0,不然會報錯)

pom.xml

 <!--    mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>

實體類

這裡就不貼程式碼了哈,把自己需要查詢的欄位放到Vo中就好了。

mapper層

 @Select("select member.*,shipping_address.* from member left join shipping_address on member.member_id=shipping_address.member_id")
    IPage<UsersAddressVo> selectUserListPage(Page<UsersAddressVo> page, UsersAddressVo usersAddressVo);

service層

   @Select("select member.*,shipping_address.* from member left join shipping_address on member.member_id=shipping_address.member_id")
    IPage<UsersAddressVo> selectUserListPage(UsersAddressVo usersAddressVo, Integer pageNum, Integer pageSize);

service業務實現層

 @Override
    public IPage<UsersAddressVo> selectUserListPage(UsersAddressVo usersAddressVo, Integer pageNum, Integer pageSize) {
        Page
<UsersAddressVo> iPage = new Page<UsersAddressVo>(pageNum, pageSize); IPage<UsersAddressVo> memberList = memberMapper.selectUserListPage(iPage, usersAddressVo); return memberList; }

controller層

    @GetMapping("/uniteList")
    public TableDataInfo uniteTable(UsersAddressVo usersAddressVo, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize){
        IPage<UsersAddressVo> memberIPage = memberService.selectUserListPage(usersAddressVo, pageNum, pageSize);
        List<UsersAddressVo> records = memberIPage.getRecords();
        return getDataTable(records);
    }

本地測試

 @Test
    public void contextLoads() {
        Page<UsersAddressVo> pages=new Page<>(1,10);
        memberMapper.selectUserListPage(pages,null);

    }

postman測試如下: