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

相关推荐
侧耳倾听11112 分钟前
RESTful API介绍
后端·restful
JIngJaneIL32 分钟前
基于java+ vue家庭理财管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
vipbic37 分钟前
基于 Nuxt 4 + Strapi 5 构建高性能 AI 导航站
前端·后端
老华带你飞1 小时前
电商系统|基于java + vue电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
OC溥哥9991 小时前
2D我的世界创造模式网页版正式出炉——《我们的2D创造世界:无限创意,多人同乐》欢迎来到ourcraft.xin网站上玩
后端·python·阿里云·flask·html·游戏程序
程序媛徐师姐1 小时前
Java基于SpringBoot的智能城市管理平台,附源码+文档说明
java·spring boot·java springboot·智能城市管理平台·java智能城市管理平台·java智能城市管理·智能城市管理
李慕婉学姐2 小时前
【开题答辩过程】以《婴幼儿辅食健康监测与反馈系统》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·spring boot
laocooon5238578862 小时前
Rust 编程语言教学目录
开发语言·后端·rust
小希smallxi2 小时前
Rust语言入门
开发语言·后端·rust
默 语2 小时前
Spring Boot 3.x升级踩坑记:到底值不值得升级?
hive·spring boot·后端