MyBatis-Plus官网地址:https://mp.baomidou.com/)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

1、添加依赖(MyBatis-Plus和MySQL驱动)

<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-boot-starter</artifactId>
	<version>3.4.3.4</version>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<scope>runtime</scope>
</dependency>

注:如果不设置版本号会报错:

(1)pom.xml提示,mybatis-plus-boot-starter的版本号不能为空

(2)DemoData.java提示,Cannot resolve symbol 'lombok'

2、设置数据库连接配置

application.properties中添加数据库连接配置:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://IP或域名:3306/数据库名字
spring.datasource.username=用户名
spring.datasource.password=密码

3、数据库表假设

假设数据库中的表名为“category”,字段有为“category_id”和“category_name”

4、添加相应的实体类:

package com.example.demo;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("category")
public class Category {

    private String category_id;
    private String category_name;
}

5、添加Mapper类:

package com.example.demo;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface CategoryMapper extends BaseMapper<Category> {
}

6、请求数据

 注:注解SpringBootApplication和RestController是之前就有的。 

7、浏览器测试:

 全部返回null,是因为数据库字段和实体类的属性对应不上,即使加上TableField注解也不行。

8、解决方案:

(1)方法一:修改实体类属性:

@Data
@TableName("category")
public class Category {

    private String categoryId;
    private String categoryName;
}

 浏览器再次测试如下图:

 (2)方法二:修改配置

application.properties文件中添加一条配置项:

mybatis-plus.configuration.map-underscore-to-camel-case=false

浏览器再次测试如下图:

9、各文件目录结构如下图:

 如上,就实现了基于MyBatis-Plus从MySQL数据库中读取数据的功能。

So easy!!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐