`
roruby
  • 浏览: 335141 次
  • 来自: ...
社区版块
存档分类
最新评论

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

阅读更多

一、前言

   其实,改写后的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)

 

分享到:
评论

相关推荐

    JAVA/JSP学习系列之六(MySQL翻页例子)

    一、运行前准备 下载了mysql的jdbc驱动(一个jar文件)并加载在CLASSPATH(方法见《JAVA/JSP学习系列之一(JDK安装) 》) (如果找不到,请从本站下载) 建一个MySQL数据库test 数据库中有一个表:note,字段为:name...

    JAVAJSP学习(改写MySQL翻页例子

    通过实践这个翻页例子,你可以深入理解JSP、Servlet与MySQL数据库之间的协同工作,为以后的Web开发打下坚实的基础。记得在实际项目中,一定要注意SQL注入的安全问题,可以使用预编译的`PreparedStatement`来防止此类...

    JAVA_JSP学习系列

    本"JAVA_JSP学习系列"着重于为初学者提供深入浅出的学习资源,通过实例教学,帮助读者快速掌握JSP的核心概念和实践技巧。 首先,JSP是Java平台上的一个标准,用于开发服务器端应用程序,特别是Web应用。它允许...

    JAVA/JSP的英文参考文献及翻译

    JAVA/JSP 英文参考文献及翻译 JAVA/JSP 方面通用的英文参考文献及翻译是 IT 行业中一个非常重要的知识点。下面我们将从技术发展历史、JSP 技术特点、JSP 和数据库相关知识、JavaBean 相关内容等几个方面来详细介绍 ...

    十天学会JAVA,JSP学习系列教程

    同时,还介绍了改写MySQL翻页的例子,帮助理解数据库查询优化和页面分页显示的技术。 第四天,教程涵盖了Orion下自定义Tag的使用,这是JSP的一个强大特性,允许创建自定义标签库,提高代码复用性和可读性。通过实践...

    JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)

    一、运行前准备 建议了一个MS SQLServer7数据库 DNS,名称为:Test_DB 数据库中有一个表:guestbook字段为:name(varchar),email(varchar),body(text) 数据库用户为sa 密码空,... //SQL语句对象 java.sql.ResultSet sq

    java/JSP车辆租赁管理系统

    《Java/JSP车辆租赁管理系统详解》 在信息技术日益发达的今天,车辆租赁管理系统已经成为许多租车公司、汽车共享平台不可或缺的一部分。本系统基于Java和JSP技术实现,旨在提供高效、便捷的车辆租赁服务管理,方便...

    jsp+servlet+bean+mysql例子

    在Java Web开发中,"jsp+servlet+bean+mysql"是一个经典的组合,它们共同构建了Web应用程序的基础架构。本文将详细解析这些技术及其在实际应用中的作用。 **JSP(JavaServer Pages)** 是一种动态网页技术,允许...

    java/jsp获取系统时间大全(已测试)

    &lt;%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %&gt; ${java.time.LocalDateTime.now().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli()}" pattern="yyyy-MM-dd HH:mm:...

    JAVA/JSP学习系列之二(Tomcat安装)

    一、前言 对于初学者来说,要执行JSP和Servlet,Tomcat是一个很不错的选择,。Tomcat是Apache组织的产品,sun公司对它的支持也相当不错。 二、下载,安装 下载地址为JAVA官方站点:jakarta.apache.org,国内也比较...

    Java基于jsp的多用户博客的实现mysql.zip

    Java基于jsp的多用户博客的实现mysql.zipJava基于jsp的多用户博客的实现mysql.zipJava基于jsp的多用户博客的实现mysql.zipJava基于jsp的多用户博客的实现mysql.zipJava基于jsp的多用户博客的实现mysql.zipJava基于...

    Java基于jsp的模特管理系统的实现mysql.zip

    Java基于jsp的模特管理系统的实现mysql.zipJava基于jsp的模特管理系统的实现mysql.zipJava基于jsp的模特管理系统的实现mysql.zipJava基于jsp的模特管理系统的实现mysql.zipJava基于jsp的模特管理系统的实现mysql.zip...

    Java JSP+servlet+javaweb +mysql数据库 通用型信息管理系统,文件管理系统

    Java JSP+servlet+javaweb +mysql数据库 通用型信息管理系统,文件管理系统Java JSP+servlet+javaweb +mysql数据库 通用型信息管理系统,文件管理系统Java JSP+servlet+javaweb +mysql数据库 通用型信息管理系统,文件...

    完美java/jsp 访问Access 的jar包(兼容linux)

    使用范例请参考我的另一资源“jsp java access跨平台组件 ”java代码。 本jar包经过linux,windows 测试均未出现问题。 另外本jar包的特色就是支持hibernate 方言,附件包括两个文件 1:jar包 2:hibernate.jar ...

    java(jsp)链接mysql代码

    ### Java(JSP)链接MySQL代码解析 #### 一、引言 在Web开发中,Java Server Pages (JSP) 是一种广泛使用的服务器端脚本技术,用于生成动态网页。通过结合Java代码片段和HTML标记,JSP 可以实现与数据库的交互,从而...

    java jsp 连接mysql数据库 jar包

    java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包java jsp 连接 mysql 数据库 jar包

    图书管理系统源码(jsp+java+tomcat+mysql+eclipse)可以直接运行

    总之,这个图书管理系统源码展示了如何利用Java、JSP、MySQL和Tomcat进行Web应用的开发,对于学习和理解这些技术以及了解实际项目开发流程具有很高的参考价值。同时,通过分析和运行这个系统,开发者可以提升自己的...

    Java项目:电影院售票管理系统(java+Servlet+JSP+JDBC+Mysql)

    项目介绍 这个项目是一个基于Servlet+JSP的电影院售票...Servlet、JSP、JDBC、MySQL5.7、Tomcat8 使用说明 1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclip

    jsp-test-mysql.rar_MYSQL_java连接mysql_jsp mysql_mysql jsp

    【标签】"mysql java连接mysql jsp_mysql mysql_jsp" 进一步明确了这个资源的主要技术点:MySQL数据库,以及Java通过JDBC(Java Database Connectivity)驱动来连接和操作MySQL。JDBC是Java平台的标准接口,用于连接...

Global site tag (gtag.js) - Google Analytics