前言 这章的主要内容是连接数据库、引入mybatisplus,实现CRDU。一、数据库配置 在serviceupmsapi项目的resources的文件夹下面创建一个application。yml的文件,具体配置如下:spring:datasource:连接池type:com。alibaba。druid。pool。DruidDataSourcedruid:数据库驱动driverclassname:com。mysql。cj。jdbc。Driverusername:rootpassword:rooturl:jdbc:mysql:basemysql:3306test?characterEncodingutf8 这里为了解析yml文件,我们需要引入一个依赖,不引入会解析报错dependencygroupIdorg。yamlgroupIdsnakeyamlartifactIdversion1。33versiondependency 数据库连接池用的是阿里的druid,最新版本是1。2。14,由于我们是SpringBoot项目,所以引入druidspringbootstarter即可dependencygroupIdcom。alibabagroupIddruidspringbootstarterartifactIdversion1。2。14versiondependency二、MyBatisPlus配置 同样也是在application。yml里面,如下:mybaitsplus配置mybatisplus:MyBatisMapper所对应的XML文件位置mapperlocations:classpath:mapperMapper。xmlglobalconfig:关闭MP的LOGObanner:false MyBatisPlus官网地址 第二章中规划了basedata模块是用来跟数据库打交道的,所以我们在这个模块来完成MyBatisPlus的配置 引入依赖dependencygroupIdcom。baomidougroupIdmybatisplusbootstarterartifactIdversion3。5。2versiondependency 新建一个MybatisPlusConfig的文件,主要用来配置MapperScan和拦截器(分页、权限、多租户、乐观锁等都是通过这个来实现)packagecom。ailot。cloud。base。data。mybatis;importcom。baomidou。mybatisplus。annotation。DbType;importcom。baomidou。mybatisplus。extension。plugins。MybatisPlusInterceptor;importcom。baomidou。mybatisplus。extension。plugins。inner。DataPermissionInterceptor;importcom。baomidou。mybatisplus。extension。plugins。inner。PaginationInnerInterceptor;importlombok。extern。slf4j。Slf4j;importorg。mybatis。spring。annotation。MapperScan;importorg。springframework。context。annotation。Bean;importorg。springframework。context。annotation。Configuration;Slf4jConfigurationMapperScan(com。ailot。。mapper)publicclassMybatisPlusConfig{分页、数据权限拦截returnPaginationInterceptorBeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){log。info(初始化mybatis拦截器);MybatisPlusInterceptorinterceptornewMybatisPlusInterceptor();分页拦截interceptor。addInnerInterceptor(newPaginationInnerInterceptor(DbType。MYSQL));returninterceptor;}} 做完这些后,在resources文件夹下面新建一个METAINFspring。factories(spring。factories不知道怎么用的自行百度),用来自动装配我们指定的配置org。springframework。boot。autoconfigure。EnableAutoConfigurationcom。ailot。cloud。base。data。mybatis。MybatisPlusConfig 然后,在serviceupmsapi这个项目中引入basedata这个包,配置好程序入口; 编译运行,出现以下界面就表示我们成功了!三、实现CRUD MapperCRUD接口MyBatisPlus已经帮我们实现好了,我们只需要去继承他封装的BaseMapper即可; ServiceCRUD接口MyBatisPlus也帮我们实现好了,同样我们只需要去继承他封装的IService即可。 新建一个test的数据库,新建一个sysuser的表CREATETABLEtest。sysuser(idvarchar(32)CHARACTERSETutf8mb4COLLATEutf8mb40900aiciNOTNULL,usernamevarchar(32)CHARACTERSETutf8mb4COLLATEutf8mb40900aiciNOTNULL,passwordvarchar(255)CHARACTERSETutf8mb4COLLATEutf8mb40900aiciNOTNULL,createtimedatetimeNOTNULLDEFAULTCURRENTTIMESTAMP,updatetimedatetimeNULLDEFAULTNULLONUPDATECURRENTTIMESTAMP,PRIMARYKEY(id)USINGBTREE)ENGINEInnoDBCHARACTERSETutf8mb4COLLATEutf8mb40900aiciROWFORMATDynamic; 新建实体类packagecom。ailot。cloud。upms。common。entity;importcom。baomidou。mybatisplus。annotation。IdType;importcom。baomidou。mybatisplus。annotation。TableId;importlombok。Data;importjava。time。LocalDateTime;DatapublicclassSysUser{TableId(typeIdType。ASSIGNID)privateStringid;privateStringusername;privateStringpassword;privateLocalDateTimecreateTime;privateLocalDateTimeupdateTime;} 新建Mapperpackagecom。ailot。cloud。upms。api。mapper;importcom。ailot。cloud。upms。common。entity。SysUser;importcom。baomidou。mybatisplus。core。mapper。BaseMapper;publicinterfaceSysUserMapperextendsBaseMapperSysUser{} 新建Servicepackagecom。ailot。cloud。upms。api。service;importcom。ailot。cloud。upms。common。entity。SysUser;importcom。baomidou。mybatisplus。extension。service。IService;publicinterfaceSysUserServiceextendsIServiceSysUser{} 新建ServiceImplpackagecom。ailot。cloud。upms。api。service。impl;importcom。ailot。cloud。upms。api。mapper。SysUserMapper;importcom。ailot。cloud。upms。api。service。SysUserService;importcom。ailot。cloud。upms。common。entity。SysUser;importcom。baomidou。mybatisplus。extension。service。impl。ServiceImpl;ServicepublicclassSysUserServiceImplextendsServiceImplSysUserMapper,SysUserimplementsSysUserService{} 新建Controllerpackagecom。ailot。cloud。upms。api。controller;importcom。ailot。cloud。upms。api。service。SysUserService;importcom。ailot。cloud。upms。common。entity。SysUser;importlombok。AllArgsConstructor;importorg。springframework。web。bind。annotation。;importjavax。security。auth。login。CredentialNotFoundException;RestControllerRequestMapping(user)AllArgsConstructorpublicclassSysUserController{privatefinalSysUserServicesysUserService;PostMappingpublicBooleanaddUser(RequestBodySysUsersysUser){returnsysUserService。save(sysUser);}} 编译运行,看到以下界面就表示成功了! 测试下接口 控制台输出结果: 当前版本tag:1。0。1 代码仓库四、体验地址 后台数据库只给了部分权限,报错属于正常! 想学的老铁给点点关注吧!!! 我是阿咕噜,一个从互联网慢慢上岸的程序员,如果喜欢我的文章,记得帮忙点个赞哟,谢谢!