##实现简单的模糊查询
Servlet层:
/**
* 资讯管理的模糊查询
*
* @param req
* @param resp
* @throws IOException
* @throws ServletException
*/
private void query(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// 获取对象
String name = req.getParameter("name");
// 创建
Info info = infoService.query(name);
// 判断
if (info == null) {
req.setAttribute("info", info);
// 路径
try {
req.getRequestDispatcher(
"/wky/info?action=findPageInfos¤tPage=1&pageSize=5")
.forward(req, resp);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
req.setAttribute("info", info);
req.getRequestDispatcher("/updateinfo.jsp").forward(req, resp);
}
}
service层:
/**
* 模糊查询
*
* @param name
* @return
*/
public Info query(String name) {
// TODO Auto-generated method stub
return infoDao.query(name);
}
dao层:
/**
* 模糊查询
* @param name
* @return
*/
public Info query(String name);
daoImpl层:
/**
* 模糊查询
*/
@Override
public Info query(String name) {
// 通过名字得到
// 获取conn
Connection conn = JdbcUtils.getConn();
// 准备sql
String sql = "select * from y_info where title like '%" + name + "%'";
Statement state = null;
ResultSet rs = null;
try {
//拿到cs
state = conn.createStatement();
//执行sql
rs = state.executeQuery(sql);
Info i = new Info();
while (rs.next()) {
int iid = rs.getInt("id");
String title = rs.getString("title");
String s_title = rs.getString("s_title");
String rank = rs.getString("rank");
String keyword = rs.getString("keyword");
String content = rs.getString("content");
String author = rs.getString("author");
String source = rs.getString("source");
i = new Info(iid, title, s_title, rank, keyword, content, author,
source);
}
return i;
} catch (SQLException e) {
e.printStackTrace();
}finally {
//释放资源
JdbcUtils.close(rs,conn,state);
}
return null;
}