課程
/后端開發
/Java
/通過自動回復機器人學Mybatis---基礎版
如下圖所示,單條信息無法刪除,出現下面異常,但是跟著老師的代碼走的,請問是什么原因?
2016-09-19
源自:通過自動回復機器人學Mybatis---基礎版 4-4
正在回答
老師特別提醒,手動提交sqlSession.commit()
亞努人 提問者
是因為沒有手動提交事務,即要加入語句:sqlSession.commit();
配置文件 <?xml?version="1.0"?encoding="UTF-8"?> <!DOCTYPE?mapper ????PUBLIC?"-//mybatis.org//DTD?Mapper?3.0//EN" ????"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper?namespace="Message"> ??<resultMap?type="model.Message"?id="MessageResult"> ????<id?column="ID"?jdbcType="VARCHAR"?property="id"/>?<!--?id是查找結果集的主鍵?--> ????<result?column="COMMAND"?jdbcType="VARCHAR"?property="command"/> ????<result?column="DESCRIPTION"?jdbcType="VARCHAR"?property="description"/> ????<result?column="CONTENT"?jdbcType="VARCHAR"?property="content"/> ??</resultMap> ??<select?id="Message.queryAll"?resultMap="MessageResult"> ????SELECT?ID,COMMAND,DESCRIPTION,CONTENT?FROM?message?WHERE?1=1 ????<if?test="command?!=?null?and?!"".equals(command.trim())">and?COMMAND?LIKE?'%'?#{command}?'%'</if> ????<if?test="description?!=?null?and?!"".equals(description.trim())">and?DESCRIPTION?LIKE?'%'?#{description}?'%'</if> ??</select> ?? ??<delete?id="deleteOne"?parameterType="java.lang.Integer"> ?? DELETE?FROM?message?WHERE?ID=#{_parameter} ??</delete> </mapper>
DAO層的方法 public?void?deleteOne(int?id){ DBAccess?dbAccess?=?new?DBAccess(); SqlSession?sqlSession?=?null; try{ sqlSession?=?dbAccess.getSqlSession();//實例化并打開數據庫會話 sqlSession.delete("Message.deleteOne",id); }catch(IOException?e){ e.printStackTrace(); }finally{ if(sqlSession!=null){ sqlSession.close(); } } }
Service層的方法 package?service; import?dao.MessageDAO; public?class?MaintainService?{ public?void?deleteOne(String?id){ if(id?!=?null?&&?!"".equals(id.trim())){ MessageDAO?messageDao?=?new?MessageDAO(); messageDao.deleteOne(Integer.valueOf(id)); } } }
Servlet方法 public?void?doPost(HttpServletRequest?request,?HttpServletResponse?response) throws?ServletException,?IOException?{ request.setCharacterEncoding("utf-8"); //獲取頁面的值 String?id?=?request.getParameter("id"); MaintainService?maintainService?=?new?MaintainService(); maintainService.deleteOne(id); //dao方法和跳轉頁面 try?{ request.getRequestDispatcher("/servlet/ShowServlet").forward(request,response); }?catch?(Exception?e)?{ e.printStackTrace(); } }
model層的方法 package?model; public?class?Message?{ private?int?id; private?String?command; private?String?description; private?String?content; public?Message(){} public?int?getId()?{ return?id; } public?void?setId(int?id)?{ this.id?=?id; } public?String?getCommand()?{ return?command; } public?void?setCommand(String?command)?{ this.command?=?command; } public?String?getDescription()?{ return?description; } public?void?setDescription(String?description)?{ this.description?=?description; } public?String?getContent()?{ return?content; } public?void?setContent(String?content)?{ this.content?=?content; } }
麻煩幫忙看下,到底是哪里有問題?
把后面的截圖發下,還有這個你mybatis里配置有沒有問題?
舉報
微信公眾號自動回復功能學習Mybatis,基礎教程加案例實戰方式學習
1 回答刪除單條記錄出錯!??!
2 回答刪除信息報500錯誤
3 回答單條刪除,傳值正常,就是刪除不了
2 回答如何刪除關聯子表里的信息
2 回答無法批量刪除,求詳細解決辦法。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-23
老師特別提醒,手動提交sqlSession.commit()
2016-09-21
是因為沒有手動提交事務,即要加入語句:sqlSession.commit();
2016-09-20
麻煩幫忙看下,到底是哪里有問題?
2016-09-20
把后面的截圖發下,還有這個你mybatis里配置有沒有問題?