接着说,在创建类前仍分别创建相应的包去区分:
像获取数据库连接的 DBUtils,封装小说类对象的 entity 这些直接用前面的代码即可,我这里也不演示了,关于对数据库操作的 dao 我们需要做下修改,改为查询:
package com.qiku.dao;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import com.mysql.jdbc.Connection;
import com.qiku.DBUtils.DBUtil;
import com.qiku.entity.NovelInfo;;
public class NovelDao {
//获取满足条件的小说列表信息,并封装到 NovelInfo 里面。
public List<NovelInfo> getNovelList(int novelAdviceNumber) throws Exception{
//创建一个小说列表
List<NovelInfo> NovelList = new ArrayList<NovelInfo>();
//获取数据库连接
//DBUtils 是一个单例类,一般在单例模式下使用 .getIntance();创建对象
Connection connection =DBUtil.getIntance().getConnection();
String sql="select NovelName,NovelWordCount,novelAdviceNumber from novelinfo";
if(novelAdviceNumber>0){
sql = sql + " where novelAdviceNumber>= " +novelAdviceNumber ;
}
//开始查询,将 SQL 语句绑到可以查询数据的 jdbc 对象上面去:prepareStatement
//使用 PreparedStatement 是 Statement 的子接口,可以传入带占位符的 SQL 语句,提供了补充占位符变量的方法。
PreparedStatement ps = connection.prepareStatement(sql);
//返回满足条件的列表:
ResultSet rs = ps.executeQuery();
//循环ResultSet 对象,将里面的信息封装到 NovelInfo 对象,并添加到 list 中
while(rs.next()){
String NovelName = rs.getString("NovelName");
int NovelWordCount = rs.getInt("NovelWordCount");
int NovelAdviceNumber_1 = rs.getInt("NovelAdviceNumber");
NovelInfo novelInfo = new NovelInfo();
novelInfo.setNovelName(NovelName);
novelInfo.setNovelWordCount(NovelWordCount);
novelInfo.setNovelAdviceNumber(NovelAdviceNumber_1);
NovelList.add(novelInfo);
}
//按顺序关闭对应资源(释放资源):
rs.close();
ps.close();
connection.close();
return NovelList;
}
}
接着我们需要创建一个 Servlet 文件:
命名为 NovelServlet ,然后下一步:
这部分的名字可以改,但改过之后后面某个部分也需要保持一致。然后下一步,完成就行了。创好文件如下&#x