springboot-mybatisplus-demo

mapper service impl

复制代码
package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {

}

public interface UserService extends IService<User> {

}

@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {

}

controller

java 复制代码
package com.example.demo.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.demo.entity.Result;
import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.time.LocalDateTime;
import java.util.List;
import java.util.WeakHashMap;

@RestController
@Slf4j
@RequestMapping("/user")
public class UserController extends BaseController {
    @Autowired
    private UserService userService;

    @GetMapping
    public Result index() {
        return Result.success(userService.list());
    }

    @GetMapping("/page")
    public Result page(@RequestParam(defaultValue = "1", required = false) Integer page,
                       @RequestParam(defaultValue = "10", required = false) Integer size) {

        Page<User> page1 = Page.of(page, size);
        page1 = userService.page(page1);
        log.info("page: {}", page1);
        return Result.success(page1);
    }

    @GetMapping("/t1")
    public Result t1() {
        User user = new User();
        user.setUsername("tom");

        List<User> list = userService.list(Wrappers.<User>lambdaQuery().ge(User::getId, 138));

        userService.update(user, Wrappers.<User>lambdaUpdate().ge(User::getId, 138));

        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("now(),id,username");
        System.out.println(queryWrapper.getSqlSelect());

        userService.list(queryWrapper);

        return Result.success( list);
    }
}

需要增加配置类

java 复制代码
package com.example.demo.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisPlusConfig {

    /**
     * 添加分页插件
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
        // 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
        return interceptor;
    }
}

源码:https://gitee.com/fanruitian/springboot-mybatis-demo

相关推荐
PinkSun1 分钟前
MySQL 建表报 1030,能查不能建,排查 1 小时发现是我自己改了一行权限
后端
无相求码23 分钟前
为什么 printf 可以接受任意数量参数?变长参数的底层真相
后端
郡杰26 分钟前
Boot:MP|测验|结果封装|异常处理|前后联调|拦截器
后端
团团崽_七分甜28 分钟前
后端基础概念 - 前端开发者指南(进程、线程、事务)
后端
倔强的石头_1 小时前
从5万次到日均2000万次调用:大模型推理服务的性能工程实践V2.1
后端
环境栈笔记1 小时前
多账号浏览器选型检查清单:Profile、权限、Session 和任务日志怎么评估
前端·人工智能·后端·自动化
shepherd1111 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·spring boot·后端
mONESY2 小时前
Node.js fs 文件系统模块 四种读写方案全解析
javascript·后端
Larcher2 小时前
从回调地狱到优雅异步:Node.js 文件操作进化史
javascript·后端·架构
Java编程爱好者2 小时前
深入浅出Agent: Harness最全调研与原理解析(持续更新中)
后端