Rutina de operación de base de datos JSP (Usar Bean)
Autor:Eve Cole
Fecha de actualización:2009-07-02 17:13:24
- Visualización de datos en páginas - JDBC 2.0: ODBC
Jsp puede operar la base de datos a través de jdbc:odbc. En este ejemplo, escribí la conexión de la base de datos en un JavaBean, que se puede reutilizar.
Archivo pagetest.jsp:
<%@page contentType="text/html;charset=gb2312" %>
Prueba de paginación de base de datos
<%
//Definir la clase ResultSet
java.sql.ResultSet primero;
//Establecer fuente de datos Odbc
Jodb.setConnStr("jdbc:odbc:jtest","","");
//Establece el controlador Jdbc
Jodb.setDbDriver("sun.jdbc.odbc.JdbcOdbcDriver");
//Ejecuta la instrucción Sql y llama al método de ejecución de la clase Jodb
rst=Jodb.execute("seleccione * de gbook");
%>
<%
int número de fila inicial;
int tamaño de página = 10;
primero.último();
int rowCount=primero.getRow();
int pageCount=(rowCount+pageSize-1)/pageSize;
int páginaint;
String strPage=request.getParameter("página");
si(strPage==nulo)
{
intPágina=1;
}
demás
{
intPage=java.lang.Integer.parseInt(strPage);
if(intPágina<1)intPágina=1;
if(intPage>pageCount)intPage=pageCount;
}
startRowNum=(intPage-1)*pageSize+1;
%>
Prueba de paginación de base de datos
<%= Htool.getStr(Jodb.pageStr(intPage,pageCount,"pagetest.jsp?","en")) %>
Número |
Nombre |
Correo electrónico |
Deja un mensaje |
<%
para(int i=0;i
primero.absoluto(startRowNum+i);
si(primero.isAfterLast())
{
romper;
}
%>
<%= rst.getLong("id") %> |
<%= rst.getString("nombre") %> |
<%= rst.getString("correo electrónico") %> |
<%= rst.getString("pnote") %> <%= rst.getRow() %> |
<%
}
%>
El archivo Jodb.java es el siguiente:
paquete zbean;
importar java.sql.*;
//importar zbean.*;
clase pública jodb
{
cadena pública sdbdriver="sun.jdbc.odbc.JdbcOdbcDriver";
cadena pública sConnStr;
cuenta larga pública;
fluido de cadena;
Contraseña de cadena;
Conexión de conexión = nulo;
Conjunto de resultados rs=null;
públicoJodb()
{
intentar
{
Class.forName(sdbdriver);
}
captura (java.lang.ClassNotFoundException e)
{
System.err.println("Jodb():"+e.getMessage());
}
}
setDbDriver vacío público (cadena y)
{
sdbdriver=y;
}
setConnStr vacío público (Cadena x, Cadena z, Cadena a)
{
sConnStr=x;
uid=z;
contraseña=a;
}
ejecución pública de ResultSet (cadena sql)
{
rs=nulo;
intentar
{
conn=DriverManager.getConnection(sConnStr,uid,pwd);
Declaración stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}
captura (SQLException ex)
{
System.err.println("Jodb.execute():"+ex.getMessage());
}
devolver rs;
}
actualización pública larga (String sql)
{
largo x=0;
intentar
{
conn=DriverManager.getConnection(sConnStr);
Declaración stmt=conn.createStatement();
x=stmt.executeUpdate(sql);
}
captura (SQLException ey)
{
System.err.println("Jodb.update():"+ey.getMessage());
}
devolver x;
}
cadena pública pageStr (int página, int pageCount, cadena url, cadena showStr)
{
//String str="Página:("+página+"/"+páginaCount+") ";
Cadena cadena="";
Cadena fstr;
Cadena pstr;
Cadena nstr;
Lista de cadenas;
//int página=currPágina;
//int pageCount=páginaCt;
si(mostrarStr=="cn")
{
fstr="Primera página";
pstr="página anterior";
nstr="página siguiente";
lstr="última página";
}
de lo contrario si(showStr=="es")
{
fstr="Primero";
pstr="Anterior";
nstr="Siguiente";
lstr="Último";
}
demás
{
Cadena[] temp_array=split(showStr,",");
si(temp_array==nulo)
{
str="Por favor, introduzca una cadena como: "Primero,Anterior,Siguiente,Último"";
devolver cadena;
}
fstr=temp_array[0];
pstr=temp_array[1];
nstr=temp_array[2];
lstr=temp_array[3];
}
/*
int npágina;
npgae=página+1;
página int;
página=página-1;
si(npágina>númerodepáginas)
{npae=númerodepáginas;}
si(ppgae<1)
{página=1;}
*/
si(página==1){
str=str+""+nstr+" ";
str=str+""+lstr+" ";
}
si (página == número de páginas) {
str=str+""+fstr+" ";
str=str+""+pstr+" ";
}
if(página>1&&página str=str+""+fstr+" ";
str=str+""+pstr+" ";
str=str+""+nstr+" ";
str=str+""+lstr+" ";
}
devolver cadena;
}
cadena pública [] dividida (cadena cadena, cadena cadena en)
{
char[] temp_array;
temp_array=str.toCharArray();
int strLength=str.length();
int strInLength=strIn.length();
int strInTimes=0;
int strIndex[]=nuevo int[strLength];
int i=0;
intii=0;
mientras(i<=cadenaLongitud-cadenaLongitud)
{
Cadena temp_str="";
para(int j=i;j {
temp_str=temp_str+temp_array[j];
}
si(temp_str.equals(strIn))
{
strInTimes++;
strIndex[ii]=i;
i=i+strInLongitud;
II++;
}
demás
{
yo ++;
}
}
si(cadenaVeces<1)
{
Cadena[] back_str=null;
devolver back_str;
}
demás
{
Cadena back_str[]=nueva cadena[strInTimes+1];
back_str[0]=str.substring(0,strIndex[0]);
para(int k=1;k {
back_str[k]=str.substring(strIndex[k-1]+strInLength,strIndex[k]);
}
back_str[strInTimes]=str.substring(strIndex[strInTimes-1]+strInLength,str.length());
devolver back_str;
}
}
}