前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot集成Mybatis--使用分页插件

Spring Boot集成Mybatis--使用分页插件

作者头像
背雷管的小青年
修改2020-06-09 11:37:10
1.6K0
修改2020-06-09 11:37:10
举报

目标:实现Spring Boot使用easyexcel实现导入导出Excel 工具:IDEA--2020.1 学习目标:Spring Boot使用easyexcel实现导入导出Excel 本次学习的工程下载链接放到文本最后面(含数据库文件)

  • 首先新建一个springboot项目,添加相关的依赖
代码语言:javascript
复制
<dependencies>
    <!--web依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--mybatis依赖-->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.2</version>
    </dependency>
    <!--开发人员热部署依赖-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <!--mysql依赖-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    <!--小插件依赖-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <!--导入导出excel-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>2.1.6</version>
    </dependency>
    <!-- springboot的分页插件可以直接在application.yml直接使用 -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.12</version>
    </dependency>

    <!-- 解析jsp页面的依赖 -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>9.0.12</version>
    </dependency>
    <!-- jstl依赖配置 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

  • 本工程中不会使用导入导出excel功能(下片博客文章实现),我们先配置一下我们的配置文件application.yml文件
代码语言:javascript
复制
#tomcat服务器配置 http://localhost:8080/excel   
server:
  address: localhost
  port: 8080
  #字符编码设置
  servlet:
    encoding:
      charset: utf-8
      enabled: true
      force: true
    context-path: /excel   #工程的站点根路径

#配置视图解析器的前缀和后缀
spring:
  mvc:
    view:
      prefix: /WEB-INF/
      suffix: .jsp
  #配置数据源
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=utf-8
    username: root
    password: root

#加载mybatis配置文件
mybatis:
  #扫描到mybatis中的.xml文件
  mapper-locations: classpath:mappers/*.xml
  #给mybatis开启驼峰命名法则
  configuration:
    map-underscore-to-camel-case: true

pagehelper:
  #分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。你也可以配置helperDialect属性来指定分页插件使用哪种方言。
  helper-dialect: mysql
  # 启用合理化,如果pageNum < 1会查询第一页,如果pageNum > pages会查询最后一页
  reasonable: true

  • 我们使用插件生成Mybatis的一些实体类和映射文件等,里面没有查询所有的方法,这个我们手搓一个
代码语言:javascript
复制
<select id="selectAll" resultType="com.xmaven.entity.SysUser">
    select * from sys_user   </select>

  • 记得在启动类上加上mapper扫描注解@MapperScan("com.xmaven.mapper")
  • 编写接口服务
代码语言:javascript
复制
public interface SysUserService {
List<SysUser> getAll();

PageInfo<SysUser> selectpage(Integer pageNum, Integer pageSize); }

  • 编写接口的实现类
代码语言:javascript
复制
@Service
public class SysUserServiceImpl implements SysUserService {

    @Autowired
    SysUserMapper sysUserMapper;

    @Override
    public List<SysUser> getAll() {
        return this.sysUserMapper.selectAll();
    }

    @Override
    public PageInfo<SysUser> selectpage(Integer pageNum, Integer pageSize) {
        //翻到多少页
        PageHelper.startPage(pageNum,pageSize);
        //取对象
        List<SysUser> list = this.sysUserMapper.selectAll();
        //放到集合里面
        PageInfo<SysUser> pi = new PageInfo<SysUser>(list);
        return pi;
    }
}

  • 手搓一个垃圾的jsp界面,帮助我们跳转

这个是工具界面

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <center>
        <h1>
            <a href="/userctrl/page.do">去到分页界面</a>
        </h1>
    </center>
</body>
</html>

  • 开始写一个控制器帮助我们来实现分页和跳转
代码语言:javascript
复制
@Controller
@RequestMapping("/userctrl")
public class SysUserController {

    @Autowired
    SysUserService sysUserService;

    @RequestMapping("/page.do")
    public ModelAndView page(ModelAndView mav,@RequestParam(defaultValue="1")Integer
        pageNum,@RequestParam(defaultValue="5")Integer pageSize){
        PageInfo<SysUser> pageInfo = sysUserService.selectpage(pageNum, pageSize);
        mav.addObject("pi",pageInfo);//把集合装入模型数据
        mav.setViewName("selectpage");//路径:/WEB-INF/selectpage.jsp
        return mav;
    }
}

  • 开始编写一个丑的一笔的一个表格界面

这个是我们的分页界面

代码语言:javascript
复制
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <center>
        <h1>这里是用户列表信息界面</h1>
        <table border="1" width="95%">
            <tr>
                <th>编号</th>
                <th>姓名(拼音)</th>
                <th>姓名(中文)</th>
                <th>密码</th>
                <th>盐</th>
                <th>email</th>
                <th>mobile</th>
                <%--后面的根据自己需要添加,我这里就不一一添加了--%>
            </tr>
            <c:forEach items="${pi.list}" var="u">
                <tr>
                    <td>${u.id}</td>
                    <td>${u.name}</td>
                    <td>${u.nickName}</td>
                    <td>${u.password}</td>
                    <td>${u.salt}</td>
                    <td>${u.email}</td>
                    <td>${u.mobile}</td>
                </tr>
            </c:forEach>
            <tr>
                <td colspan="8" style="text-align: center;">
                    <a href="page.do?pageNum=${pi.navigateFirstPage}">首页</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="page.do?pageNum=${pi.prePage}">上一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="page.do?pageNum=${pi.nextPage}">下一页</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    <a href="page.do?pageNum=${pi.navigateLastPage}">尾页</a>&nbsp;&nbsp;&nbsp;&nbsp;
                    当前${pi.pageNum}/${pi.pages}页,共${pi.total}条
                </td>
            </tr>
        </table>
    </center>
</body>
</html>

代码语言:javascript
复制
启动工程 访问   http://localhost:8080/excel/index.jsp    点击
FR.png
FR.png

显示如下(以下四个按钮皆有效)

Q19QCT5W[U51}3Z$G60RAPH.png
Q19QCT5W[U51}3Z$G60RAPH.png

名字工程名字虽然是这个springboot-excel,但是里面干货是分页插件,见谅,谢谢

下载链接:springboot-mybatis-pagehelper.rar

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 这个是工具界面
  • 这个是我们的分页界面
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档