mybatis-plus的demo

mybatis-plus的demo,第1张

mybatis-plus的demo 一、创建工程

generator:存放代码生成器

service:demo代码

二、POM文件配置 2.1 父POM


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.5.7
        
    
    com.xyp
    mybatis-plus-demo
    0.0.1-SNAPSHOT
    mybatis-plus-demo
    mybatis-plus-demo
    pom
    
        generator
        service
    
    
        1.8
        3.4.3.4
        3.5.1
        2.5.7
        1.18.22
        2.3.31
        2.7.0
    


    
        
            
                org.springframework.boot
                spring-boot-starter-jdbc
                ${spring.version}
            
            
                org.springframework.boot
                spring-boot-starter-web
                ${spring.version}
            
            
            
                mysql
                mysql-connector-java
                ${mysql.version}
                runtime
            
            
            
                com.baomidou
                mybatis-plus-boot-starter
                ${mybatis-plus.version}
            
            
            
                com.baomidou
                mybatis-plus-generator
                ${generator.version}
            
            
            
                org.freemarker
                freemarker
                ${freemarker.version}
            
            
            
                io.springfox
                springfox-swagger2
                ${swagger.version}
            
            
            
                io.springfox
                springfox-swagger-ui
                ${swagger.version}
            
            
                org.springframework.boot
                spring-boot-devtools
                runtime
                true
                ${spring.version}
            
            
                org.projectlombok
                lombok
                true
                ${lombok.version}
            
            
                org.springframework.boot
                spring-boot-starter-test
                test
                ${spring.version}
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                false
            
        
    
    
        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
            
                false
            
        
        
            spring-snapshots
            Spring Snapshots
            https://repo.spring.io/snapshot
            
                false
            
        
    



2.2 generator的pom


    4.0.0
    
        com.xyp
        mybatis-plus-demo
        0.0.1-SNAPSHOT
        
    
    com.xyp
    generator
    0.0.1-SNAPSHOT
    generator
    generator
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-jdbc
        
        
        
            mysql
            mysql-connector-java
            runtime
        
        
        
            com.baomidou
            mybatis-plus-generator
        
        
        
            org.freemarker
            freemarker
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    


2.3 service的pom


    4.0.0
    
        com.xyp
        mybatis-plus-demo
        0.0.1-SNAPSHOT
         
    
    com.xyp
    service
    0.0.1-SNAPSHOT
    service
    service
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-jdbc
            ${spring.version}
        
        
            org.springframework.boot
            spring-boot-starter-web
            ${spring.version}
        
        
        
            mysql
            mysql-connector-java
            ${mysql.version}
            runtime
        
        
        
            com.baomidou
            mybatis-plus-boot-starter
            ${mybatis-plus.version}
        
        
        
            io.springfox
            springfox-swagger2
        
        
        
            io.springfox
            springfox-swagger-ui
        
        
            org.springframework.boot
            spring-boot-devtools
            runtime
            true
            ${spring.version}
        
        
            org.projectlombok
            lombok
            true
            ${lombok.version}
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            ${spring.version}
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



三、新建数据库及表

创建一个demo数据库,创建一个p_user

四、代码生成器
package com.xyp.generator;


import com.baomidou.mybatisplus.core.mapper.baseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Generator {
    public static void main(String[] args) {
        List tables = new ArrayList<>();
        tables.add("p_user");

        FastAutoGenerator.create("jdbc:mysql://localhost:3306/demo", "root", "root")
                .globalConfig(builder -> {
                    builder.author("XYP")
                            .outputDir(System.getProperty("user.dir") + "\service\src\main\java")
                            .enableSwagger()
                            .commentDate("yyyy-MM-dd")
                            .fileOverride();
                })
                .packageConfig(builder -> {
                    builder.parent("com.xyp")
                            .moduleName("service")
                            .entity("entity")
                            .service("service")
                            .serviceImpl("serviceImpl")
                            .controller("controller")
                            .mapper("mapper")
                            .xml("mapper")
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "\service\src\main\resources\mapper"));
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tables)
                            .addTablePrefix("p_")
                            .serviceBuilder()
                            .formatServiceFileName("%sService")
                            .formatServiceImplFileName("%sServiceImpl")
                            .entityBuilder()
                            .enableLombok()
                            .logicDeleteColumnName("deleted")
                            .enableTableFieldAnnotation()
                            .controllerBuilder()
                            .formatFileName("%sController")
                            .enableRestStyle()
                            .mapperBuilder()
                            .superClass(baseMapper.class)
                            .formatMapperFileName("%sMapper")
                            .enableMapperAnnotation()
                            .formatXmlFileName("%sMapper");
                })
                .templateEngine(new FreemarkerTemplateEngine())
                .execute();

    }
}
五、在service的application.yml中配置数据库连接信息
server:
  port: 80
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
logging:
  level:
    root: info
六、在生成的controller暴露查询所有user的接口
package com.xyp.service.controller;


import com.xyp.service.entity.User;
import com.xyp.service.service.UserService;
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.RestController;

import java.util.List;


@RestController
@RequestMapping("/service/user")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/get")
    public List get(){
        List users = userService.list();
        return users;
    }
}
七、在postman中进行测试

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5575867.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存