課程
/后端開發
/Java
/通過自動回復機器人學Mybatis---加強版
代碼都是照著源碼寫的,大佬們知道是哪里出問題了嗎
2018-01-19
源自:通過自動回復機器人學Mybatis---加強版 3-1
正在回答
首先要么你查總條數的sql沒寫對,要么就是查出來后沒有設置到page對象中
慕粉2310038863 提問者
qq_我是一條魚_0 回復 慕粉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();
// 根據條件查詢條數
int totalNumber = messageDao.count(message);
// 組織分頁查詢參數
page.setTotalNumber(totalNumber);
Map<String,Object> parameter = new HashMap<String, Object>();
parameter.put("message", message);
parameter.put("page", page);
// 分頁查詢并返回結果
return messageDao.queryMessageList(parameter);
}
public List<Message> queryMessageListByPage(String command,String description,Page page) {
return messageDao.queryMessageListByPage(parameter);
這是service
/**
* 根據查詢條件查詢消息列表的條數
*/
public int count(Message message) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
int result = 0;
try {
sqlSession = dbAccess.getSqlSession();
// 通過sqlSession執行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;
* 根據查詢條件分頁查詢消息列表
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?{ //?設置編碼 req.setCharacterEncoding("UTF-8"); //?接受頁面的值 String?command?=?req.getParameter("command"); String?description?=?req.getParameter("description"); String?currentPage?=?req.getParameter("currentPage"); //?創建分頁對象 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)); //?向頁面傳值 req.setAttribute("command",?command); req.setAttribute("description",?description); req.setAttribute("page",?page); //?向頁面跳轉 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); } }
這個是查詢總條數的sql語句。
這個是jsp的page的語句。
舉報
進一步探索 Mybatis 的奧秘,一起揭開 Mybatis 面紗
3 回答分頁攔截器怎么把記錄總條數傳出?
2 回答為什么我的分頁效果不行啊,也不報錯,不分頁而且總頁數顯示也不對
2 回答在查詢總條數時不用在設置參數了吧
1 回答獲取頁面動態添加值
1 回答為什么我的limit后面的值傳不進來啊,我的parameter是對的啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-01-19
首先要么你查總條數的sql沒寫對,要么就是查出來后沒有設置到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();
// 根據條件查詢條數
int totalNumber = messageDao.count(message);
// 組織分頁查詢參數
page.setTotalNumber(totalNumber);
Map<String,Object> parameter = new HashMap<String, Object>();
parameter.put("message", message);
parameter.put("page", page);
// 分頁查詢并返回結果
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();
// 分頁查詢并返回結果
return messageDao.queryMessageListByPage(parameter);
}
這是service
/**
* 根據查詢條件查詢消息列表的條數
*/
public int count(Message message) {
DBAccess dbAccess = new DBAccess();
SqlSession sqlSession = null;
int result = 0;
try {
sqlSession = dbAccess.getSqlSession();
// 通過sqlSession執行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;
}
/**
* 根據查詢條件分頁查詢消息列表
*/
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執行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