50.整合MyBatisPlus

提要

这里已经将Springboot环境创建好 这里只是整合MyBatis过程

引入Maven依赖

添加MyBatisPlus启动依赖,添加mysql-connector-java依赖

 
  1.  
    <!-- mybatis-plus -->
  2.  
    <dependency>
  3.  
    <groupId>com.baomidou</groupId>
  4.  
    <artifactId>mybatis-plus-boot-starter</artifactId>
  5.  
    <version>3.3.1</version>
  6.  
    </dependency>
  7.  
    <!-- mybatis-plus代码生成器 -->
  8.  
    <dependency>
  9.  
    <groupId>com.baomidou</groupId>
  10.  
    <artifactId>mybatis-plus-generator</artifactId>
  11.  
    <version>3.3.1.tmp</version>
  12.  
    </dependency>
  13.  
    <!-- mysql连接 -->
  14.  
    <dependency>
  15.  
    <groupId>mysql</groupId>
  16.  
    <artifactId>mysql-connector-java</artifactId>
  17.  
    <scope>runtime</scope>
  18.  
    </dependency>
 

添加application.yml配置

mybatis-plus配置项

 
  1.  
    mybatis-plus:
  2.  
    # xml文件路径
  3.  
    mapper-locations: classpath:mapper/*.xml
  4.  
    # 实体类路径
  5.  
    type-aliases-package: com.数据库表对应的实体类的路径
  6.  
    configuration:
  7.  
    # 驼峰转换
  8.  
    map-underscore-to-camel-case: true
  9.  
    # 是否开启缓存
  10.  
    cache-enabled: false
  11.  
    # 打印sql
  12.  
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  13.  
    # 全局配置
  14.  
    global-config:
  15.  
    # 数据库字段驼峰下划线转换
  16.  
    db-column-underline: true
  17.  
    # id自增类型(数据库id自增)
  18.  
    id-type: 0
 

mysql配置项

 
  1.  
    spring:
  2.  
    datasource:
  3.  
    driver-class-name: com.mysql.cj.jdbc.Driver
  4.  
    username: root
  5.  
    password: stone
  6.  
    url: jdbc:mysql://ip:3306/库名?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
 

添加数据库对应实体类

 
  1.  
    @Data
  2.  
    @TableName("class_table")
  3.  
    public class ClassPojo {
  4.  
     
  5.  
    @TableId(value = "id", type = IdType.AUTO)
  6.  
    private Long id;
  7.  
     
  8.  
    @TableField(value = "class_name")
  9.  
    private String className;
  10.  
     
  11.  
    }
 

添加Mapper文件

 
  1.  
    @Mapper
  2.  
    public interface ClassMapper extends BaseMapper<ClassPojo> {
  3.  
     
  4.  
    }
 

添加Service接口

 
  1.  
    public interface ClassVoService extends IService<ClassPojo> {
  2.  
    String getClassName(Long id);//自定义方法
  3.  
    }
 
 
 

添加Service实现类

 
  1.  
    @Component
  2.  
    public class ClassVoServiceImpl extends ServiceImpl<ClassMapper, ClassPojo> implements ClassVoService {
  3.  
    public String getClassName(Long id){
  4.  
    ClassPojo byId = getById (id);
  5.  
    return byId.getClassName ();
  6.  
     
  7.  
    }
  8.  
    }
 

添加Controller

 
  1.  
    @RestController
  2.  
    @RequestMapping("/demo")
  3.  
    public class ExcelController {
  4.  
    @GetMapping("/getbyid")
  5.  
    public String getbyid(){
  6.  
    return classVoService.getClassName (1l);
  7.  
    }
  8.  
    }
 

补充对应表结构

 
  1.  
    CREATE TABLE `class_table` (
  2.  
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '课程id不能为空主键',
  3.  
    `class_name` varchar(255) NOT NULL COMMENT '课程名称',
  4.  
    PRIMARY KEY (`id`)
  5.  
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4;
  6.  
    SQL 复制 全屏
 

表数据如下

id

class_name

1

语文

2

数学

posted @ 2022-08-09 15:12  随遇而安==  阅读(24)  评论(0编辑  收藏  举报