JSP+MySQL MVC综合案例:完整的分页查询

JSP+MySQL数据库开发教程,MVC综合案例,完整的分页查询代码。

JSP+MySQL MVC综合案例:完整的分页查询

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
);

也可用可视化数据库开发工具:

JSP+MySQL MVC综合案例:完整的分页查询

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

(5)
江山如画的头像江山如画管理团队
上一篇 2018年2月22日 上午9:22
下一篇 2018年2月22日 上午10:05

99%的人还看了以下文章

  • 网络编程 ASP.NET(C#)学习笔记二:数据类型-值类型

    C#中数据类型主要分为两大类:值类型和引用类型。本节课主要讲解值类型的分类和结构类型、枚举类型的定义和使用。 值类型: C#中值类型包括3种:简单类型、结构类型和枚举类型。 简单类型包括整数类型、字符类型、实数类型和布尔类型等,在此不做介绍,随便找本书看下即可。 结构类型:用于定义复杂的数据类型。如图书信息(包括书名,作者,出版社,价格等等),坐标点的信息(…

    2018年1月30日
    13.3K0
  • python属于编译型还是解释型的语言?python是哪一种类型的编译语言

    Python先把代码编译成字节码,再对字节码解释执行。 java   编译型(请求次数多)+解释型(请求次数少) 解释性语言定义: 程序不需要编译,在运行程序的时候才翻译,每个语句都是执行的时候才翻译。这样解释性语言每执行一次就需要逐行翻译一次,效率比较低。 现代解释性语言通常把源程序编译成中间代码,然后用解释器把中间代码一条条翻译成目标机器代码,一条条执行…

    2023年2月26日
    7.7K0
  • JSP分页思想—核心代码

    try{condition=”select * from employee_info”; sql=conn.createStatement(); rs=sql.executeQuery(condition); int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数…

    2019年10月30日
    5.1K0
  • MySql数据库Timestamp、time、datetime 区别及使用详解

    对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 。 不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢? 一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction],它可分为两部分:date部分和time部分,其中,date部分对应格式中的“YYYY-MM-DD…

    编程开发 2018年5月2日
    7.5K1
  • 快收藏!破解WiFi密码的Python程序源码泄露了

    通过 Python 脚本实现 WIFI 密码的暴力破解,从而实现免费蹭网。 泄露的Python程序源码: import pywifi from pywifi import const import time import datetime # 测试连接,返回链接结果 http://www.125jz.com/ 分享 def wifiConnect(pwd):…

    2023年1月29日
    6.8K0
  • 第3课:C语言程序的构成和书写规则

    先来看一个C语言程序:输入两个正整数,计算并输出两数的和。 程序代码: /*ex1_2.c:求两个正整数的和*/ #include <stdio.h> void main()                         /*主函数*/ {     int a,b,sum;                    /*定义三个整型变量*/    …

    2020年4月5日
    9.9K0

发表回复

登录后才能评论