MyBatis Generator 生成代码:基于 Name 的去重分页查询

使用 MyBatis Generator 生成的代码,我们可以通过 MyBatis 提供的分页插件 PageHelper 来实现根据 name 字段进行去重分页查询。

1. Mapper.xml 文件配置

在 Mapper.xml 文件中添加以下代码,定义两个查询语句:

<select id='selectByName' resultMap='BaseResultMap'>
    select *
    from table_name
    where name = #{name}
    order by id desc
</select>

<select id='selectDistinctName' resultMap='BaseResultMap'>
    select distinct name
    from table_name
    order by name asc
</select>
  • selectByName:根据 name 查询所有记录
  • selectDistinctName:查询所有不重复的 name

2. Java 代码实现

在 Java 代码中,使用 PageHelper 插件实现分页查询:

public List<Table> selectByName(String name, int pageNum, int pageSize) {
    PageHelper.startPage(pageNum, pageSize);
    List<Table> list = tableMapper.selectByName(name);
    return list;
}

public List<String> selectDistinctName(int pageNum, int pageSize) {
    PageHelper.startPage(pageNum, pageSize);
    List<String> list = tableMapper.selectDistinctName();
    return list;
}
  • PageHelper.startPage(pageNum, pageSize):指定分页参数
  • tableMapper.selectByName(name)tableMapper.selectDistinctName():调用 Mapper 中定义的查询语句

总结

通过以上步骤,我们成功实现了使用 MyBatis Generator 生成的代码,结合 PageHelper 插件,进行基于 Name 的去重分页查询。

注意:

  • 实际代码中,请将 table_name 替换为实际的表名
  • Table 类为示例,请根据实际情况替换为对应的实体类
  • 确保已引入 PageHelper 依赖
MyBatis Generator 生成代码:基于 Name 的去重分页查询

原文地址: https://www.cveoy.top/t/topic/kfDe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录