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 rel="nofollow noopener noreferrer" href="mysqlpage.jsp?page=<%=intPage+1%>">下一页</a><%}%><%if(intPage>1){%><a rel="nofollow noopener noreferrer" href="mysqlpage.jsp?page=<%=intPage-1%>">上一页</a><%}%> </body> </html><% //关闭结果集 sqlRst.close(); %>三、怎么去运行?   见前文《JAVA/JSP学习系列之五(JDBC-ODBC翻页例子)》。注意:MySQL数据库为test,中间有个表test,有个字段f1(varchar)

以上就是JAVA/JSP学习系列之八(改写MySQL翻页例子)。只有正直、忠诚、宽容和拥有仁爱之心的人才能够达到真正意义上的成功。不具备这些品质的人,就无法体会到成功的滋味,因为成功和幸福一样,不在于外在的富有,而在于内心的感受。更多关于JAVA/JSP学习系列之八(改写MySQL翻页例子)请关注haodaima.com其它相关文章!

标签: 翻页 系列之