微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

springboot用thymeleaf模板的paginate分页完整代码

本文根据一个简单的user表为例,展示 springboot集成mybatis,再到前端分页完整代码,需要的朋友可以参考下

本文根据一个简单的user表为例,展示 springboot集成mybatis,再到前端分页完整代码(新手自学,不足之处欢迎纠正);

先看java部分

pom.xml 加入 

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-thymeleaforg.mybatismybatis-spring1.2.2org.mybatismybatis3.2.8org.mybatis.generatormybatis-generator-core1.3.2com.github.pageHelperpageHelper3.6.3org.apache.tomcattomcat-jdbcMysqLmysql-connector-java

application.properties文件

spring.datasource.platform=MysqL spring.datasource.url=jdbc:MysqL://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driverClassName=com.MysqL.jdbc.Driver # Advanced configuration... spring.datasource.max-active=50 spring.datasource.max-idle=6 spring.datasource.min-idle=2 spring.datasource.initial-size=6 #create table spring.jpa.hibernate.ddl-auto=validate spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=.html spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.content-type=text/html spring.thymeleaf.cache=false

启动类 Application.java

@SpringBootApplication @MapperScan("com.boot.mapper") public class Application { //定义一个全局的记录器,通过LoggerFactory获取 private final static Logger logger = LoggerFactory.getLogger(Application.class); //----------------------------mybaits配置start------------------------------------------- //DataSource @Bean @ConfigurationProperties(prefix="spring.datasource") public DataSource dataSource() { return new org.apache.tomcat.jdbc.pool.DataSource(); } //sqlSessionFactory @Bean public sqlSessionFactory sqlSessionfactorybean() throws Exception { sqlSessionfactorybean sqlSessionfactorybean = new sqlSessionfactorybean(); sqlSessionfactorybean.setDataSource(dataSource()); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); sqlSessionfactorybean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml")); return sqlSessionfactorybean.getobject(); } @Bean public PlatformTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } //------------------------------mybaits配置end--------------------------------- public static void main(String[] args){ System.out.println("Hello World!"); SpringApplication.run(Application.class, args); } }

一个简单的user对象为例

private Integer id; private String name; private String password;

controller层

@RestController public class UserController { @Autowired UserService uSer; @RequestMapping("userlist") public Object userlist(@RequestParam(value="pageon",defaultValue="1")int pageon ,ModelAndView mv){ mv.addAllObjects(uSer.UserList(pageon)); return mv; } }

service层

public Map UserList(int pageon) { // Todo Auto-generated method stub Map map=new HashMap(); Page page=new Page(pageon); page.setRowcountAndCompute(userMapper.selectPagelistCount(null)); map.put("page", page); map.put("list", userMapper.selectPagelist(map)); return map; }

UserMapper.xml

select id, name, password from user order by id limit #{page.start},#{page.row} select count(1) from user

到此时后台代码结束

附加个page工具类

package com.boot.utils; import java.io.Serializable; public class Page implements Serializable { /** * */ private static final long serialVersionUID = 1L; public int getPageon() { return pageon; } public void setPageon(int pageon) { this.pageon = pageon; } public int getRowcount() { return rowcount; } public void setRowcount(int rowcount) { this.rowcount = rowcount; } public int getPagecount() { return pagecount; } public void setPagecount(int pagecount) { this.pagecount = pagecount; } public int getRow() { return row; } public void setRow(int row) { this.row = row; } public Page(int pageon, int row, int rowcount) { pageNumber = 11; this.pageon = pageon; this.row = row; this.rowcount = rowcount; compute(); } public Page(int pageon, int row) { pageNumber = 11; this.pageon = pageon; this.row = row; } public Page(int pageon) { pageNumber = 11; this.pageon = pageon; } public Page() { pageNumber = 11; } public int getPageNumber() { return pageNumber; } public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } public void compute() { if (rowcount pagecount) pageon = pagecount; if (pageon rowcount) end = rowcount; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public void setRowcountAndCompute(int rowcount) { this.rowcount = rowcount; compute(); } protected int pageon; protected int rowcount; protected int pagecount; protected int row; protected int start; protected int end; protected int pageNumber; }

前端代码开始

statis目录下加入如下几个文件

在templates目录下建立一个前端分页工具页面 page.html,(虽然代码不多,封装这点东西花费我半天时间!!)

接下来就是引用分页插件了。

在templates目录下建立userlist.html.

用户列表

ID

姓名

密码

ID

姓名

密码

可以看到 引用分页代码 只有两句,是不是很好用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐