課程
/后端開發(fā)
/Java
/通過自動回復(fù)機器人學(xué)Mybatis---加強版
代碼都是照著源碼寫的,大佬們知道是哪里出問題了嗎
2018-01-19
源自:通過自動回復(fù)機器人學(xué)Mybatis---加強版 3-1
正在回答
首先要么你查總條數(shù)的sql沒寫對,要么就是查出來后沒有設(shè)置到page對象中
慕粉2310038863 提問者
qq_我是一條魚_0 回復(fù) 慕粉2310038863 提問者
上面service錯了
是這一個:
public List<Message> queryMessageList(String command,String description,Page page) {
// 組織消息對象
Message message = new Message();
message.setCommand(command);
message.setDescription(description);
MessageDao messageDao = new MessageDao();
// 根據(jù)條件查詢條數(shù)
int totalNumber = messageDao.count(message);
// 組織分頁查詢參數(shù)
page.setTotalNumber(totalNumber);
Map<String,Object> parameter = new HashMap<String, Object>();
parameter.put("message", message);
parameter.put("page", page);
// 分頁查詢并返回結(jié)果
return messageDao.queryMessageList(parameter);
}
public List<Message> queryMessageListByPage(String command,String description,Page page) {
return messageDao.queryMessageListByPage(parameter);
這是service
/**
* 根據(jù)查詢條件查詢消息列表的條數(shù)
*/
public int count(Message message) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
int result = 0;
try {
sqlSession = dbAccess.getSqlSession();
// 通過sqlSession執(zhí)行SQL語句
IMessage imessage = sqlSession.getMapper(IMessage.class);
result = imessage.count(message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(sqlSession != null) {
sqlSession.close();
return result;
* 根據(jù)查詢條件分頁查詢消息列表
public List<Message> queryMessageListByPage(Map<String,Object> parameter) {
List<Message> messageList = new ArrayList<Message>();
messageList = imessage.queryMessageListByPage(parameter);
return messageList;
dao層的
@SuppressWarnings("serial") public?class?ListServlet?extends?HttpServlet?{ @Override protected?void?doGet(HttpServletRequest?req,?HttpServletResponse?resp) throws?ServletException,?IOException?{ //?設(shè)置編碼 req.setCharacterEncoding("UTF-8"); //?接受頁面的值 String?command?=?req.getParameter("command"); String?description?=?req.getParameter("description"); String?currentPage?=?req.getParameter("currentPage"); //?創(chuàng)建分頁對象 Page?page?=?new?Page(); Pattern?pattern?=?Pattern.compile("[0-9]{1,9}"); if(currentPage?==?null?||??!pattern.matcher(currentPage).matches())?{ page.setCurrentPage(1); }?else?{ page.setCurrentPage(Integer.valueOf(currentPage)); } QueryService?listService?=?new?QueryService(); //?查詢消息列表并傳給頁面 req.setAttribute("messageList",?listService.queryMessageListByPage(command,?description,page)); //?向頁面?zhèn)髦? req.setAttribute("command",?command); req.setAttribute("description",?description); req.setAttribute("page",?page); //?向頁面跳轉(zhuǎn) req.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(req,?resp); } @Override protected?void?doPost(HttpServletRequest?req,?HttpServletResponse?resp) throws?ServletException,?IOException?{ this.doGet(req,?resp); } }
這個是查詢總條數(shù)的sql語句。
這個是jsp的page的語句。
舉報
進(jìn)一步探索 Mybatis 的奧秘,一起揭開 Mybatis 面紗
3 回答分頁攔截器怎么把記錄總條數(shù)傳出?
2 回答為什么我的分頁效果不行啊,也不報錯,不分頁而且總頁數(shù)顯示也不對
2 回答在查詢總條數(shù)時不用在設(shè)置參數(shù)了吧
1 回答獲取頁面動態(tài)添加值
1 回答為什么我的limit后面的值傳不進(jìn)來啊,我的parameter是對的啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2018-01-19
首先要么你查總條數(shù)的sql沒寫對,要么就是查出來后沒有設(shè)置到page對象中
2018-01-19
上面service錯了
是這一個:
public List<Message> queryMessageList(String command,String description,Page page) {
// 組織消息對象
Message message = new Message();
message.setCommand(command);
message.setDescription(description);
MessageDao messageDao = new MessageDao();
// 根據(jù)條件查詢條數(shù)
int totalNumber = messageDao.count(message);
// 組織分頁查詢參數(shù)
page.setTotalNumber(totalNumber);
Map<String,Object> parameter = new HashMap<String, Object>();
parameter.put("message", message);
parameter.put("page", page);
// 分頁查詢并返回結(jié)果
return messageDao.queryMessageList(parameter);
}
2018-01-19
public List<Message> queryMessageListByPage(String command,String description,Page page) {
Map<String,Object> parameter = new HashMap<String, Object>();
// 組織消息對象
Message message = new Message();
message.setCommand(command);
message.setDescription(description);
parameter.put("message", message);
parameter.put("page", page);
MessageDao messageDao = new MessageDao();
// 分頁查詢并返回結(jié)果
return messageDao.queryMessageListByPage(parameter);
}
這是service
/**
* 根據(jù)查詢條件查詢消息列表的條數(shù)
*/
public int count(Message message) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
int result = 0;
try {
sqlSession = dbAccess.getSqlSession();
// 通過sqlSession執(zhí)行SQL語句
IMessage imessage = sqlSession.getMapper(IMessage.class);
result = imessage.count(message);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(sqlSession != null) {
sqlSession.close();
}
}
return result;
}
/**
* 根據(jù)查詢條件分頁查詢消息列表
*/
public List<Message> queryMessageListByPage(Map<String,Object> parameter) {
DBAccess dbAccess = new DBAccess();
List<Message> messageList = new ArrayList<Message>();
SqlSession sqlSession = null;
try {
sqlSession = dbAccess.getSqlSession();
// 通過sqlSession執(zhí)行SQL語句
IMessage imessage = sqlSession.getMapper(IMessage.class);
messageList = imessage.queryMessageListByPage(parameter);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if(sqlSession != null) {
sqlSession.close();
}
}
return messageList;
}
dao層的
2018-01-19
2018-01-19