JSP+MySQL MVC综合案例,125建站网原创,转载请务必注明出处http://www.125jz.com/1381.html。
完整的分页查询开发思路:
1.MySQL数据库:db_book图书信息表tb_book
2.创建JavaBean封装图书信息:BookBean.java
3.创建BookDao.java用于封装商品对的数据库相关操作。
- getConnection()创建数据库连接方法
- find()实现商品信息的分页查询
- findCount()方法:获取商品信息的总记录数,用于计算商品信息的总页数
4.创建FindServlet类,其doGet()方法对分页请求进行处理。
5.bookList.jsp获取图书信息并分页显示。
1.创建MySQL数据库db_book
在MySQL数据库db_book中创建图书信息表tb_book。
- 用Sql语句创建图书馆数据库
create database db_book;
- 用Sql语句创建图书信息表tb_book
create table tb_book( id int not null primary key auto_increment, name varchar(50) not null, price double null, bookCount int null, author varchar(45) null );
也可用可视化数据库开发工具:
2.创建BookBean.java
创建名称为BookBean的类,用于封装图书对象信息
package com; public class BookBean { private int id; // 编号 private String name; // 图书名称 private double price; // 定价 private int bookCount; // 数量 private String author; // 作者 public int getId() { return id; } public void setId(int id) { this.id = id; } // 省略了其他属性的Setter与Getter方法 }
3.创建BookDao类
创建BookDao.java用于封装商品对的数据库相关操作。
package com; import java.sql.*; import java.util.*; import com.BookBean; public class BookDao { //getConnection()创建数据库连接方法 public Connection getConnection(){ Connection conn = null; // 数据库连接 try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/db_book"; String username = "root";// 数据库用户名 String password = "root";// 数据库密码 conn = DriverManager.getConnection(url,username,password); } catch (Exception e) { e.printStackTrace(); } return conn; } //find()实现商品信息的分页查询 public List<BookBean> find(int page){ List<BookBean> list = new ArrayList<BookBean>(); Connection conn = getConnection();// 获取数据库连接 String sql = "select * from tb_Book order by id desc limit ?,?"; try { PreparedStatement ps = conn.prepareStatement(sql); ps.setInt(1, (page - 1) * BookBean.PAGE_SIZE); ps.setInt(2, BookBean.PAGE_SIZE); ResultSet rs = ps.executeQuery();// 执行查询操作 while(rs.next()){// 光标向后移动,并判断是否有效 BookBean b = new BookBean();// 实例化BookBean b.setId(rs.getInt("id"));// 对id属性赋值 b.setName(rs.getString("name")); b.setPrice(rs.getDouble("price")); b.setBookCount(rs.getInt("bookCount")); b.setAuthor(rs.getString("author")); list.add(b); // 将BookBean添加到List集合中 } rs.close();// 关闭ResultSet ps.close();// 关闭PreparedStatement conn.close();// 关闭Connection } catch (SQLException e) { e.printStackTrace(); } return list; } //findCount()方法:获取商品信息的总记录数 public int findCount(){ int count = 0; // 总记录数 Connection conn = getConnection();// 获取数据库连接 String sql = "select count(*) from tb_book"; try { Statement stmt = conn.createStatement();// 创建Statement ResultSet rs = stmt.executeQuery(sql); if(rs.next()){ count = rs.getInt(1); } rs.close();// 关闭ResultSet conn.close();// 关闭Connection } catch (SQLException e) { e.printStackTrace(); } return count; // 返回总记录数 }
125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1381.html