SpringBoot 整合 MybatisPlus 3.0

简介: SpringBoot整合MybatisPlus 3.0 添加pom依赖 com.alibaba druid-spring-boot-starter 1.

SpringBoot整合MybatisPlus 3.0

  1. 添加pom依赖

    <!-- druid数据库连接池启动器 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.1.9</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
        <version>5.1.46</version>
    </dependency>
    <!-- mybatis-plus启动器 -->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.0.1</version>
    </dependency>
  2. application.properties配置

    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.username=root
    spring.datasource.password=123
    spring.datasource.url=jdbc:mysql://localhost:3306/mp_demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
  3. 编写实体类

    /**
     * @author wsyjlly
     * @create 2019.06.29 - 12:18
     **/
    @AllArgsConstructor
    @NoArgsConstructor
    @Accessors
    @Data
    @TableName(value = "message")
    public class Message implements Serializable {
        private Integer id;
        private Integer mid;
        private String content;
        @TableField(value = "column_200")
        private String column1;
        @TableField(value = "column_500")
        private String column2;
        @TableField(value = "column_5000")
        private String column3;
    }
  4. 编写mapper接口继承BaseMapper接口的数据操作方法

    /**
     * @author wsyjlly
     * @create 2019.06.29 - 12:30
     **/
    @Mapper
    public interface MessageMapper extends BaseMapper<Message> {}
  5. 编写Service

    /**
     * @author wsyjlly
     * @create 2019.06.29 - 12:33
     **/
    public interface MessageService {
        List<Message> getAllMessage();
        List<Message> getMessageByMid(Integer mid);
        Integer fetchOne(Integer id,Integer mid);
        Integer updateMessageByModuleIdAndMessageId(Message message);
        Integer addMessage(Message message);
        Integer deleteMessage(Integer mid,Integer id);
    }
    /**
     * @author wsyjlly
     * @create 2019.06.29 - 13:29
     **/
    @Service
    public class MessageServiceImpl implements MessageService {
        @Autowired
        private MessageMapper messageMapper;
        private Logger logger = LoggerFactory.getLogger(getClass());
    
        @Override
        public List<Message> getAllMessage() {
            return messageMapper.selectList(new QueryWrapper<Message>());
        }
    
        @Override
        public List<Message> getMessageByMid(Integer mid) {
            return messageMapper.selectList(new QueryWrapper<Message>().eq("mid",mid));
        }
    
        @Override
        public Integer fetchOne(Integer id,Integer mid){
            return messageMapper.selectCount(new QueryWrapper<Message>().eq("id",id).eq("mid",mid));
        }
    
        @Override
        public Integer updateMessageByModuleIdAndMessageId(Message message){
            System.out.println(message);
            logger.debug(message.toString());
            return messageMapper.updateById(message);
        }
        @Override
        public Integer addMessage(Message message){
            System.out.println(message);
            logger.debug(message.toString());
            return messageMapper.insert(message);
        }
        @Override
        public Integer deleteMessage(Integer mid,Integer id){
            logger.debug(mid+"-"+id);
            return messageMapper.delete(new QueryWrapper<Message>().eq("id",id).eq("mid",mid));
        }
    }
  6. 编写Controller

    /**
     * @author wsyjlly
     * @create 2019.06.29 - 12:52
     **/
    @RestController
    public class MainController {
        @Autowired
        private MessageService messageService;
    
        @GetMapping("/messages")
        public ModelMap getMessages(){
            ModelMap map = new ModelMap();
            return map.addAttribute("messages",messageService.getAllMessage());
        }
    
        @GetMapping("module1")
        public Object getMessageType1(){
            return messageService.getMessageByMid(1);
        }
        
        @GetMapping("module2")
        public Object getMessageType2(){
            return messageService.getMessageByMid(2);
        }
        
        @PostMapping("/message")
        public ModelMap addMessage(@RequestBody Message message){
            ModelMap map = new ModelMap();
            Integer result = messageService.addMessage(message);
            if (result==1){
                map.addAttribute("result",true);
                map.addAttribute("tip","添加成功!");
            }else{
                map.addAttribute("result",false);
                map.addAttribute("tip","添加失败!");
            }
            return map;
        }
        
        @DeleteMapping("/{mid}/{id}")
        public ModelMap deleteMessage(@PathVariable Integer mid,@PathVariable Integer id){
            System.out.println(mid);
            System.out.println(id);
            ModelMap map = new ModelMap();
            Integer result = messageService.deleteMessage(mid,id);
            if (result==1){
                map.addAttribute("result",true).addAttribute("tip","删除成功!");
            }else{
                map.addAttribute("result",false).addAttribute("tip","删除失败!");
            }
            return map;
        }
        
        @PatchMapping("/message")
        public ModelMap updateMessage(@RequestBody Message message){
            Integer one = messageService.fetchOne(message.getId(), message.getMid());
            ModelMap map = new ModelMap();
            if (one==1){
                Integer result = messageService.updateMessageByModuleIdAndMessageId(message);
                if (result==1){
                    map.addAttribute("result",true).addAttribute("tip","更新成功!");
                }else{
                    map.addAttribute("result",false).addAttribute("tip","更新失败!");
                }
                System.out.println(message);
            }else{
                map.addAttribute("tip","查询异常!");
            }
            return map;
        }
    }
  7. 显示结果
    http://localhost:8080/modules

    打印日志

目录
相关文章
|
2月前
|
前端开发 Java Apache
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
本文详细讲解了如何整合Apache Shiro与Spring Boot项目,包括数据库准备、项目配置、实体类、Mapper、Service、Controller的创建和配置,以及Shiro的配置和使用。
367 1
Springboot整合shiro,带你学会shiro,入门级别教程,由浅入深,完整代码案例,各位项目想加这个模块的人也可以看这个,又或者不会mybatis-plus的也可以看这个
|
2月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
|
2月前
|
Java 数据库连接 mybatis
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
该文档详细介绍了如何在Springboot Web项目中整合Mybatis,包括添加依赖、使用`@MapperScan`注解配置包扫描路径等步骤。若未使用`@MapperScan`,系统会自动扫描加了`@Mapper`注解的接口;若使用了`@MapperScan`,则按指定路径扫描。文档还深入分析了相关源码,解释了不同情况下的扫描逻辑与优先级,帮助理解Mybatis在Springboot项目中的自动配置机制。
139 0
Springboot整合Mybatis,MybatisPlus源码分析,自动装配实现包扫描源码
|
3月前
|
XML Java 关系型数据库
springboot 集成 mybatis-plus 代码生成器
本文介绍了如何在Spring Boot项目中集成MyBatis-Plus代码生成器,包括导入相关依赖坐标、配置快速代码生成器以及自定义代码生成器模板的步骤和代码示例,旨在提高开发效率,快速生成Entity、Mapper、Mapper XML、Service、Controller等代码。
springboot 集成 mybatis-plus 代码生成器
|
3月前
|
SQL XML Java
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
|
3月前
|
前端开发 JavaScript Java
技术分享:使用Spring Boot3.3与MyBatis-Plus联合实现多层次树结构的异步加载策略
在现代Web开发中,处理多层次树形结构数据是一项常见且重要的任务。这些结构广泛应用于分类管理、组织结构、权限管理等场景。为了提升用户体验和系统性能,采用异步加载策略来动态加载树形结构的各个层级变得尤为重要。本文将详细介绍如何使用Spring Boot3.3与MyBatis-Plus联合实现这一功能。
125 2
|
4月前
|
Java 数据库连接 测试技术
SpringBoot 3.3.2 + ShardingSphere 5.5 + Mybatis-plus:轻松搞定数据加解密,支持字段级!
【8月更文挑战第30天】在数据驱动的时代,数据的安全性显得尤为重要。特别是在涉及用户隐私或敏感信息的应用中,如何确保数据在存储和传输过程中的安全性成为了开发者必须面对的问题。今天,我们将围绕SpringBoot 3.3.2、ShardingSphere 5.5以及Mybatis-plus的组合,探讨如何轻松实现数据的字段级加解密,为数据安全保驾护航。
300 1
|
4月前
|
Java 关系型数据库 MySQL
1、Mybatis-Plus 创建SpringBoot项目
这篇文章是关于如何创建一个SpringBoot项目,包括在`pom.xml`文件中引入依赖、在`application.yml`文件中配置数据库连接,以及加入日志功能的详细步骤和示例代码。
|
4月前
|
数据库
elementUi使用dialog的进行信息的添加、删除表格数据时进行信息提示。删除或者添加成功的信息提示(SpringBoot+Vue+MybatisPlus)
这篇文章介绍了如何在基于SpringBoot+Vue+MybatisPlus的项目中使用elementUI的dialog组件进行用户信息的添加和删除操作,包括弹窗表单的设置、信息提交、数据库操作以及删除前的信息提示和确认。
elementUi使用dialog的进行信息的添加、删除表格数据时进行信息提示。删除或者添加成功的信息提示(SpringBoot+Vue+MybatisPlus)
|
4月前
|
Java 数据库 Spring
MyBatisPlus分页插件在SpringBoot中的使用
这篇文章介绍了如何在Spring Boot项目中配置和使用MyBatis-Plus的分页插件,包括创建配置类以注册分页拦截器,编写测试类来演示如何进行分页查询,并展示了测试结果和数据库表结构。
MyBatisPlus分页插件在SpringBoot中的使用