一、Mybatis 与Mybatis-plus同时引入同一个项目中配置方法
一般来说引入Mybatis还要引入PageHelper
引入MybatisPlus则不需要引入PageHelper
Mybatis 与Mybatis-plus同时引入同一个项目中配置方法_mybatis和plus混用_xiegongmiao的博客-优快云博客
二、分页:
1. 自动分页
MyBatis-Plus 的分页插件可以自动地将简单的查询转换为分页查询。你只需创建一个
Page
对象,并将其作为参数传递给你的 Mapper 方法。下面是一个简单的示例:
// 创建一个 Page 对象 Page<User> page = new Page<>(1, 5); // 执行分页查询 IPage<User> userIPage = userMapper.selectPage(page, new QueryWrapper<User>().eq("status", 1)); // 获取结果 List<User> users = userIPage.getRecords();
在这个例子中,
selectPage
方法会自动执行分页查询,返回一个IPage
对象,其中包含了当前页的数据以及分页信息(如总记录数、总页数等)。2. 手动分页
除了自动分页外,你还可以在自定义的 SQL 查询中使用分页。在这种情况下,你需要手动地在你的 Mapper 文件(XML 或者注解)中编写分页逻辑。
例如,在 MySQL 数据库中,你可以像这样手动添加 LIMIT 子句:
SELECT * FROM user WHERE status = #{status} LIMIT #{current}, #{size}
然后在你的 Java 代码中,你可以像这样调用该方法:
List<User> users = userMapper.selectCustomPage(1, 5, 1);
3.配置分页插件
为了使用分页功能,你需要在你的配置中注册分页插件。这通常在 MyBatis 的配置文件或者 Spring Boot 的配置类中完成。
@Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); }
实体类:
@TableId(type = IdType.AUTO)
@ApiModelProperty("id")
private Long id;
@Data
@TableName(value = "t_unit_managements")
public class UnitManagementsEntity implements Serializable {
// @Id
// @GeneratedValue((strategy = GenerationType.IDENTITY))
@TableId(type = IdType.AUTO)
@ApiModelProperty("id")
private Integer id;
@ApiModelProperty("单位名称")
private String unitName;
@ApiModelProperty("单位层级")
private String unitLevel;
@ApiModelProperty("单位描述")
private String unitDescription;
@ApiModelProperty("单位联系人")
private String unitContactPerson;
@ApiModelProperty("单位联系方式")
private String contactInfo;
@ApiModelProperty("逻辑删除标志")
private String isdel;
}
注解:@TableId(type = IdType.AUTO)
4.mybatis驼峰命名配置
Mybatis/Mybatis-Plus驼峰式命名映射_mybatis驼峰命名配置_A1916403680的博客-优快云博客
在 MyBatis 和 MyBatis-Plus 中,开启驼峰命名映射(Camel Case Mapping)意味着可以自动将数据库中的下划线命名(例如
user_name
)转换为 Java 实体类中的驼峰命名(例如userName
)。数据库中很常见的命名方式是使用下划线(
_
)来分割单词,如user_name
、account_id
等。而在 Java 代码中,更常用的是驼峰命名法,例如userName
、accountId
。开启驼峰命名映射后,MyBatis-Plus 会自动进行这两种命名方式的转换,无需手动配置每一个字段的映射关系。
mybatisPlus默认开启驼峰命名映射
mybatis-plus: configuration: #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射 address_book ---> addressBook map-underscore-to-camel-case: false