先看效果:
本人数据库:数据库名bookclass, 列名有:BookClassID,BookClassMC。请大家修改对应的数据库
下面开始教程:(项目名:Paging)
第一步:
1.在pom.xml中加入依赖:
复制代码
1
2
3
4
5<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.22</version> </dependency>
2.写一个实体类entity 封装定义的要查询的字段:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22package com.sve.dao; public class entity { public static final int PAGE_SIZE = 5;//每页显示的条数 private int bookid; private String boookname; public int getBookid() { return bookid; } public void setBookid(int bookid) { this.bookid = bookid; } public String getBoookname() { return boookname; } public void setBoookname(String boookname) { this.boookname = boookname; } }
第二步:
写一个dao类 PagDao:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72package com.sve.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class PagDao { public static void main(String [] args) throws SQLException { List<entity> listentitys = new PagDao().find(1); } public Connection getConnection() throws SQLException { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306"; String username = "root"; String password = "******"; conn = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } public List<entity> find(int page) throws SQLException{ List<entity> list = new ArrayList<entity>(); Connection conn = getConnection(); String sql = "select * from library.bookclass order by BookClassID asc limit ?,?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, (page-1)*entity.PAGE_SIZE); ps.setInt(2, entity.PAGE_SIZE); ResultSet rs = ps.executeQuery(); while(rs.next()) { entity e = new entity(); e.setBookid(rs.getInt("BookClassID")); e.setBoookname(rs.getString("BookClassMC")); list.add(e); } rs.close(); ps.close(); conn.close(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } return list; } public int findCount() throws SQLException { int count = 0; Connection conn = getConnection(); String sql = "select count(*) from library.bookclass"; Statement sm = (Statement)conn.createStatement(); ResultSet rs = sm.executeQuery(sql); if(rs.next()) { count = rs.getInt(1); } rs.close(); conn.close(); return count; } }
第三步:
写一个servlet类:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67public class PagServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * Default constructor. */ public PagServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub //当前页 int currPage = 1; //判断页面是否有效 if(request.getParameter("page") != null) { currPage = Integer.parseInt(request.getParameter("page")); } PagDao dao = new PagDao(); try { //查询所有书籍 List<entity> list = dao.find(currPage); request.setAttribute("list", list); //总页数 int pages; //总记录数 int count = dao.findCount(); //总页数 if(count % entity.PAGE_SIZE == 0) { pages = count / entity.PAGE_SIZE; }else { pages = count / entity.PAGE_SIZE+1; } StringBuffer sb = new StringBuffer(); // for(int i = 1;i <= pages;i++) { //是否当前页 if(i==currPage) { //构建分页 sb.append("【"+i+"】"); }else { sb.append("<a href='PagServlet?page="+i+"'>"+i+"</a>"); } sb.append(" "); } request.setAttribute("bar", sb.toString()); request.getRequestDispatcher("entity_list.jsp").forward(request, response); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); }
第四步:
新建一个index.jsp (模仿功能)
复制代码
1
2
3
4
5
6
7
8
9
10
11
12<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="PagServlet">查看所有书籍</a> </body> </html>
第五步:
1.新建一个entity_list.jsp 显示数据页面
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.List,com.sve.dao.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>所有书籍</title> <style type="text/css"> td{font-size: 12px;} h2{margin: 0px} </style> </head> <body> <table align="center" width="300" border="1" height="180" bordercolor="white" bgcolor="black" cellpadding="1" cellspacing="1"> <tr bgcolor="white"> <td align="center" colspan="5"> <h2>所有商品信息</h2> </td> </tr> <tr align="center" bgcolor="#e1ffc1" > <td><b>ID</b></td> <td><b>书籍名称</b></td> </tr> <% List<entity> list = (List<entity>)request.getAttribute("list"); for(entity e : list){ %> <tr align="center" bgcolor="white"> <td><%=e.getBookid()%></td> <td><%=e.getBoookname()%></td> </tr> <%} %> <tr> <td align="center" colspan="2" bgcolor="white"> <%=request.getAttribute("bar")%> </td> </tr> </table> </body> </html>
2.web.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <servlet> <servlet-name>PagServlet</servlet-name> <display-name>PagServlet</display-name> <description></description> <servlet-class>com.sve.servlet.PagServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>PagServlet</servlet-name> <url-pattern>/PagServlet</url-pattern> </servlet-mapping> </web-app>
最后:http://localhost:8080/Paging/index.jsp
最后
以上就是迷路乐曲最近收集整理的关于Eclipse+Maven项目+分页显示MySQL中的数据的全部内容,更多相关Eclipse+Maven项目+分页显示MySQL中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复