SpringBoot+Mybatis-Plus的入门搭建与配置测试

引言

mybatis需要写很多Mapper.xml文件,这是大大降低了开发效率,后期增删字段还需要手动去修改xml文件,Mybatis-plus诞生之后,把一些简单的对数据库的操作都整合成方法,直接调用方法就可以操作数据库,不需要写sql,提高了开发效率!!

插曲

不知道SpringBoot项目怎么搭建的可以查考我的另一篇文章:
SpringBoot的 简单搭建

开整

第一步:导入maven依赖,pom文件内容如下:

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>

        <!-- Druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.16</version>
        </dependency>

        <!--jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.1.0</version>
        </dependency>

    </dependencies>

第二步:配置yml文件

server:
 port: 8089

spring:
 datasource:
 #type表示数据源为Druid数据源
  type: com.alibaba.druid.pool.DruidDataSource
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql:///test?serverTimezone=UTC
  username: root
  password: root

第三步:创建mapper接口并继承BaseMapper

//com.baomidou.mybatisplus.core.mapper.BaseMapper这个包下的
public interface UserMapper extends BaseMapper<User> {
}

第四步:创建同意返回值得类

//统一返回结果
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result<T> {
    private Integer code;
    private String msg;
    private T data;

    //成功码
    public static final Integer SUCCESS_CODE = 200;
    //成功消息
    public static final String SUCCESS_MSG = "SUCCESS";

    //失败
    public static final Integer ERROR_CODE = 201;
    public static final String ERROR_MSG = "系统异常,请联系管理员";
    //没有权限的响应码
    public static final Integer NO_AUTH_COOD = 999;

    //执行成功
    public static <T> Result<T> success(T data){
        return new Result<>(SUCCESS_CODE,SUCCESS_MSG,data);
    }
    //执行失败
    public static <T> Result failed(String msg){
        msg = StringUtils.isEmpty(msg)? ERROR_MSG : msg;
        return new Result(ERROR_CODE,msg,"");
    }
    //传入错误码的方法
    public static <T> Result failed(int code,String msg){
        msg = StringUtils.isEmpty(msg)? ERROR_MSG : msg;
        return new Result(code,msg,"");
    }
}

第五步:创建controller直接查询

@RestController
public class TestController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/test")
    public Result test(){
		
		//条件构造器
        QueryWrapper wrapper = new QueryWrapper();
        //等于sql  where id=1
        wrapper.eq("id",1);
        //Mybatis-Plus方法
        User users = userMapper.selectOne(wrapper);
        if (users != null){
        	//统一返回值
            return Result.success(users);
        }else {
            return Result.failed("查询失败");
        }
    }
}

第六步:配置启动项

@SpringBootApplication
@MapperScan("com.wang.test.demo.mapper")//这里的扫描包是你放mapper文件接口的包名
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

第七步:使用postman来进行测试

测试地址:http://localhost:8089/test 与yml文件配置一致

第八步:测试结果展示

{
    "code": 200,
    "msg": "SUCCESS",
    "data": {
        "id": 1,
        "name": "df",
        "age": 222
    }
}

结语

这样一个项目就搭建完成,小伙伴有什么问题留言,只是提供一个入门,后期再发常用方法的文章,谢谢大家!!

SpringBoot+Mybatis-Plus的入门搭建与配置测试

上一篇:Unity3D和移动端(IOS)混合开发(二)


下一篇:SpringBoot注解@ConfigurationProperties配置绑定,自动为类属性绑定值