📅  最后修改于: 2020-12-04 08:37:08             🧑  作者: Mango
分页用于在不同部分显示大量记录。在这种情况下,我们将在一页中显示10、20或50条记录。对于其余记录,我们提供链接。
我们可以简单地在Spring MVC中创建分页示例。在此分页示例中,我们使用MySQL数据库来获取记录。
在这里,我们在“测试”数据库中创建了“ emp”表。 emp表具有三个字段:ID,名称和薪水。创建一个表并手动插入记录或导入我们的SQL文件。
pom.xml
org.springframework
spring-webmvc
5.1.1.RELEASE
org.apache.tomcat
tomcat-jasper
9.0.12
javax.servlet
servlet-api
3.0-alpha-1
javax.servlet
jstl
1.2
mysql
mysql-connector-java
8.0.11
org.springframework
spring-jdbc
5.1.1.RELEASE
在这里,bean类包含与数据库中存在的字段相对应的变量(以及setter和getter方法)。
Emp.java
package com.javatpoint.beans;
public class Emp {
private int id;
private String name;
private float salary;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
}
在Controller类中, @PathVariable批注将方法参数与临时URL绑定在一起。例如:
@RequestMapping(value="/viewemp/{pageid}")
在这里,{}括号包含临时值。
EmpController.java
package com.javatpoint.controllers;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import com.javatpoint.beans.Emp;
import com.javatpoint.dao.EmpDao;
@Controller
public class EmpController {
@Autowired
EmpDao dao;
@RequestMapping(value="/viewemp/{pageid}")
public String edit(@PathVariable int pageid,Model m){
int total=5;
if(pageid==1){}
else{
pageid=(pageid-1)*total+1;
}
System.out.println(pageid);
List list=dao.getEmployeesByPage(pageid,total);
m.addAttribute("msg", list);
return "viewemp";
}
}
让我们创建一个DAO类来访问数据库中所需的数据。
EmpDao.java
package com.javatpoint.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import com.javatpoint.beans.Emp;
public class EmpDao {
JdbcTemplate template;
public void setTemplate(JdbcTemplate template) {
this.template = template;
}
public List getEmployeesByPage(int pageid,int total){
String sql="select * from emp limit "+(pageid-1)+","+total;
return template.query(sql,new RowMapper(){
public Emp mapRow(ResultSet rs, int row) throws SQLException {
Emp e=new Emp();
e.setId(rs.getInt(1));
e.setName(rs.getString(2));
e.setSalary(rs.getFloat(3));
return e;
}
});
}
}
web.xml
SpringMVC
spring
org.springframework.web.servlet.DispatcherServlet
1
spring
/
spring-servlet.xml
index.jsp
viewemp.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Employees List
Id Name Salary
${emp.id}
${emp.name}
${emp.salary}
1
2
3
输出:
下载SQL文件
如果您不使用maven,请下载MYSQL-connector.jar。