在JSP中经常要用到查询数据库中的数据,同常我们的做法是使用SQL语句“select * from tablename order by id desc”,这样的做法有一个缺点,当数据库很大的时候查询的速度会变的很慢,在ASP中有一种方法 "select top "&recpage&" * from tablename where id not in (select top "&(recpage*(currentpage-1))&" id from products order by id desc) order by id desc"其中recpage为每页显示个数, currentpage为当前页数.不过在MYSQL数据库中没有“select top * " 语句,而可以代替的语句是”select * from tablename limit position, counter “position 指示从哪里开始查询,如果是0则是从头开始,counter 表示查询的个数,通过JSP+JAVA查询数据库,查询获取的数据暂时存放在内存中在JSP中通过调取JAVA类,直接从内存中提取数据,速度有了很大提高。
下面的例子是一个关于网友评论的部分程序,假如你有一个专门供网友浏览的网站,而现在又想和网友互动起来,加一个评论是不错的想法,那么你可以把下面的程序加上,建一个表其中加一个photo_id字段和你的表关联起来后,就可以让网友对你的图片点评了。
Comment.java是一个评论的类
//<--------Comment.java ------->
package dbconnection;
public class Comment
{
private String id;
private String album_id;
private String title;
private String content;
private String modi_time;
private String user;
public void setId(String ids)
{
this.id=ids;
}
public void setalbum_id(String album_ids)
{
this.album_id=album_ids;
}
public void setTitle(String titles)
{
this.title=titles;
}
public void setContent(String contents)
{
this.content=contents;
}
public void setModi_time(String modi_times)
{
this.modi_time=modi_times;
}
public void setUser(String users)
{
this.user=users;
}
public String getId()
{
return id;
}
public String getalbum_id()
{
return album_id;
}
public String getTitle()
{
return title;
}
public String getContent()
{
return content;
}
public String getModi_time()
{
return modi_time;
}
public String getUser()
{
return user;
}
}
TestSql.java就是我们查询数据库要用到的类了,具体的调用请看下面的comment.jsp文件。