JAVA/JSP学习系列之八(改写MySQL翻页例子)

原创 2004年06月27日 13:48:00

一、前言

   其实,改写后的JDBC Data-Source是运行在Servlet中的,通过JNDI去查找数据源。我用Orion试的,将本站《JAVA/JSP学习系列之六(MySQL翻页例子) 》 简单改写了一下。

二、配置

(1)JDBC

   需要将用到的JDBC驱动Copy到[ORION]/lib目录下

(2)data-source

   在[ORION]/config/data-sources.xml文件中加入如下:

〈data-source

class="com.evermind.sql.DriverManagerDataSource"

name="mySqlDbpage"

location="jdbc/HypersonicCoreDS"

xa-location="jdbc/xa/HypersonicXADS"

ejb-location="jdbc/mysqlDbPage"

connection-driver="org.gjt.mm.mysql.Driver"

username="root"

password=""

url="jdbc:mysql://localhost/test"

inactivity-timeout="30"

/〉

需要注意的是:

(1)ejb-location这个后面的“jdbc/mysqlDbPage”是JNDI要来查找的。

(2)connection-driver为JDBC数据库驱动

(3)url是JDBC中的URL

(4)username为数据库用户名

(5)password为用户密码

(6)inactivity-timeout为数据库连接超时,默认为30秒

对于其他的地方不要改。

三、改写后的代码如下:

<%@ page contentType="text/html;charset=gb2312" %>

<%@ page import="java.sql.*, javax.sql.DataSource, javax.naming.InitialContext" %>

<%

//建立一个JNDI查找对象

InitialContext JNDI_Context = new InitialContext();

//JNDI查找数据源

DataSource ds = (DataSource) JNDI_Context.lookup("jdbc/mysqlDbPage");

//得到一个数据源连接

Connection conn = ds.getConnection();

int intPageSize; //一页显示的记录数

int intRowCount; //记录总数

int intPageCount; //总页数

int intPage; //待显示页码

java.lang.String strPage;

int i;

//设置一页显示的记录数

intPageSize = 2;

//取得待显示页码

strPage = request.getParameter("page");

if(strPage==null){

//表明在QueryString中没有page这一个参数,此时显示第一页数据

intPage = 1;

} else{

//将字符串转换成整型

intPage = java.lang.Integer.parseInt(strPage);

if(intPage<1) intPage = 1;

}

// 得到结果

stmt = conn.createStatement();

ResultSet sqlRst = stmt.executeQuery("select f1 from test");

//获取记录总数

sqlRst.last();

intRowCount = sqlRst.getRow();

//记算总页数

intPageCount = (intRowCount+intPageSize-1) / intPageSize;

//调整待显示的页码

if(intPage>intPageCount)

intPage = intPageCount;

%>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - mysql</title>

</head>

<body>

<table border="1" cellspacing="0" cellpadding="0">

<tr>

<th>姓名</th>

</tr>

<% if(intPageCount>0)

{

//将记录指针定位到待显示页的第一条记录上

sqlRst.absolute((intPage-1) * intPageSize + 1);

//显示数据

i = 0;

while(i<intPageSize && !sqlRst.isAfterLast()){ %>

<tr>

<td>

<%=sqlRst.getString(1)%>

</td>

</tr>

<% sqlRst.next();

i++;

}

}

%>

</table>

第<%=intPage%>页 共<%=intPageCount%>页

<%if(intPage<intPageCount){%><a href="mysqlpage.jsp?page=<%=intPage+1%>">下一页</a><%}%>

<%if(intPage>1){%><a href="mysqlpage.jsp?page=<%=intPage-1%>">上一页</a><%}%>

</body>

</html>

<%

//关闭结果集

sqlRst.close();

%>

三、怎么去运行?

   见前文《JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)》。

注意:MySQL数据库为test,中间有个表test,有个字段f1(varchar)

 

Deep Learning(深度学习)学习笔记整理系列之(八)

Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 201...
  • zouxy09
  • zouxy09
  • 2013年04月10日 11:42
  • 169616

使用jsp实现翻页功能

使用jsp实现翻页功能
  • u012156133
  • u012156133
  • 2013年12月06日 15:56
  • 2008

增强学习系列之(一):增强学习介绍

增强学习介绍
  • superCally
  • superCally
  • 2017年01月27日 09:38
  • 2598

Jsp中翻页功能实现

Jsp中翻页功能实现     第一步:新建两个辅助类     Page类     public class Page {     // 1.每页显示数量(everyPage)     priva...
  • u013366812
  • u013366812
  • 2016年06月13日 21:43
  • 1674

Java实现八皇后问题,用数组递归算法,简单易懂

八皇后问题要将八个皇后放在棋盘上,任何两个皇后都不能互相攻击。即没有两个皇后是在同一行、同一列或者同一对角上。典型的八皇后问题,使用Java写的算法,算法虽比较简单,但难免会有新手会犯疏漏和错误,希望...
  • H_JinXian
  • H_JinXian
  • 2016年04月07日 19:43
  • 2523

MySQL数据库+jsp+servlet实现分页查询

前一段做的那个jsp+servlet的小项目用到了分页查询,老师讲了之后实现到了网页上面,今天总结到博客上面,以后忘记了自己可以看,也分享给大家.    这个项目使用的数据库是MySQL,在MySQL...
  • zc1994113
  • zc1994113
  • 2015年12月23日 22:03
  • 5694

【JSP开发】自己写的过滤器Filter例子

目的是让浏览网站的用户所接收到的信息的编码方式统一为UTF-8,防止乱码的产生 1.没加过滤器之前: 拿Jsp工程(名叫web)中的两个Servlet做实验 ChineseServlet.jav...
  • u013517797
  • u013517797
  • 2015年03月06日 15:53
  • 3186

一个完整的简单jsp+servlet实例,实现简单的登录

开发环境myeclipse+tomcat6 1、先创建web project,项目名为RegisterSystem, 2、在WebRoot 目录下创建login.jsp文件,只需修改body中的...
  • superit401
  • superit401
  • 2016年07月20日 23:42
  • 18531

经典SQL改写案例

好久没有写博客了,今天遇到经典案例, 经典思想碰撞。 不得不写博客纪念。   我一直认为SQL 不牛逼, 做不了好的表模型,数据模型,业务模型设计 ,  而往往好的架构设计 就体现在好的 业务数据模型...
  • daiqiulong2
  • daiqiulong2
  • 2017年03月15日 20:32
  • 317

JAVA学习篇--JSP实现原理

JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。   起源:   在很多动态网页中,绝大部分内容都是固定不变的,只有局部...
  • hejingyuan6
  • hejingyuan6
  • 2014年06月19日 15:44
  • 3700
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA/JSP学习系列之八(改写MySQL翻页例子)
举报原因:
原因补充:

(最多只允许输入30个字)