• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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(intPage1) 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(iintPageSize !sqlRst.isAfterLast()){ %>

    tr>

    td>

    %=sqlRst.getString(1)%>

    /td>

    /tr>

    % sqlRst.next();

    i++;

    }

    }

    %>

    /table>

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

    %if(intPageintPageCount){%>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)
    您可能感兴趣的文章:
    • jsp实现上一页下一页翻页功能(示例代码)
    • jsp 使用jstl实现翻页实例代码
    • JAVA/JSP学习系列之六(MySQL翻页例子)
    • JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)
    • 详解SpringBoot集成jsp(附源码)+遇到的坑
    上一篇:JAVA/JSP学习系列之七(Orion下自定义Tag)
    下一篇:一个开发人员眼中的JSP技术(上)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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