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!!!