Mybatils-Plus是国内开发团队开发的一款开源软件,如名字所示,这是在Mybatis框架基础上做的功能增强,Mybatis-Plus封装了很多增删改查的默认操作,进一步简化了开发人员的开发难度,提高开发效率。
Mybatis-Plus官网:https://baomidou.com/
如下是官网是对Mybatis-Plus框架特性的一个概述:
Mybatis-Plus除了支持常见的数据库,也支持国内的数据库产品:
接下来看看如何在SpringBoot中整合Mybatis-Plus框架。
首先需要在SpringBoot的pom文件中导入Mybatis-Plus的maven坐标,可以通过maven仓库查询坐标信息,网址:https://mvnrepository.com/
在pom文件中配置Mybatis-Plus的依赖,同时引入mysql依赖用来连接数据库:
com.baomidou
mybatis-plus-boot-starter
3.4.2
com.mysql
mysql-connector-j
8.0.32
在SpringBoot的配置文件application.properties中配置mysql数据库的连接参数。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/baex
spring.datasource.username=root
spring.datasource.password=rootroot
我的mysql数据库中有一张名为sys_role的表,需要创建一个对应的实体类来操作这张表。
如果表中的字段名字以下划线进行分割,对应到实体类的成员变量名,将下划线去掉,下划线分隔的部分采用驼峰命名规则,例如,数据库字段名为role_id,对应的成员变量名为roleId,Mybatis-Plus可以自动进行转换对应,不需要做任何配置。
使用@TableId指定表中的主键字段。
public class Role {
@TableId
private String roleId;
private String roleName;
@Override
public String toString() {
return "Role{" +
"roleId='" + roleId + ''' +
", roleName='" + roleName + ''' +
'}';
}
public String getRoleId() {
return roleId;
}
public void setRoleId(String roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
由于我数据库的表名中都带有sys前缀,可以增加如下配置,在定义实体类时可以不带前缀。比如上面定义的Role实体类对应的就是sys_role表,Mybatis-Plus会自动进行匹配。
mybatis-plus.global-config.db-config.table-prefix=sys_
在Mybatis-Plus中默认定义了很多数据操作方法,我们不需要再单独定义,直接继承BaseMapper接口即可,同时将定义的实体类作为泛型参数传入。
注意加上@Mapper注解。
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.hello.entity.Role;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RoleMapper extends BaseMapper {}
只需一行代码就可以用Mybatis-Plus操作数据库了。
通过Dao查询数据库中的数据,可以看到RoleMapper虽然我们没有写任何方法,但是有很多数据操作方法可以调用。
运行测试方法,可以看到能成功查询出数据信息。
页面更新:2024-03-12
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号