现在我创建了一个小说表,我想获取表中对应图书名(bookName)的所有图书章节(title),但是我不知道怎么用Servlet来接收搜索到的数据,应该用集合吗?我希望把接收到的数据通过EL表达式${u.title}带到页面上,但是我不知道应该怎么操作才能让带出来的数据按顺序排序,请教各位大佬怎么实现这些功能
create table novel(
id varchar(32) auto_increment not null,
bookNeme varchar(20) not null,
author varchar(12) not null,
content text not null,
title varchar(255) not null,
bookId int(11)not null,
primary key(id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
我写一下解析结果集并创建list的伪代码,你根据代码具体实现一下。
List<Novel> list = new ArrayList();
while (res.next()){
String bookNeme = res.getInt(1);
//你继续获取其他字段,并设置属性
Novel novel = new Novel();
novel.setBookName(novel);
list.add(list);
}
在mapper.xml中写对应的查询语句 用改数据库对应的字段创建一个实体类 bean,然后用这个实体类作为接受对象,查询数据库返回的时间 将会自动映射到这个实体类中,在页面也可以拿到对应的数据. 建议 你先看一下 mvc
我猜你是用jdbc来查询数据的,你创建一个实体Novel类,一一对应novel表中的字段,在jdbc中查出数据然后再映射到Novel的属性中。因为你会查询出多条记录,所以此时接收数据应该是一个list,也就是List<Novel>格式。你要在页面上展示数据,可以用forEach标签,遍历出数据,顺序展示。
具体先看下数据库的数据 (bookNeme 和 title是一对多的么,是就用集合);
后台:
request.setAttribute("book", book);
request.getRequestDispatcher("book.jsp").forward(request, response);
jsp:
Book book=(Book )request.getAttribute("book");