用存储过程解决并发问题
需要解决:多人阅读,阅读量相应加1
1、mysql建立存储过程
二、xml编写
<select id="IncreaseReading" statementType="CALLABLE">
call increase_reading(
#{nid,jdbcType=VARCHAR,mode=IN},
#{r_result,jdbcType=INTEGER,mode=OUT}
)
</select>
三、service
/**修改
* @param pd
* @throws Exception
*/
public void IncreaseReading(String NOTICE_ID)throws Exception{
Map<String, Object> map = new HashMap<String, Object>();
map.put("nid",NOTICE_ID);
map.put("r_result ",null);
dao.findForObject("NoticeMapper.IncreaseReading", map);
/* int result = MapUtils.getInteger(map, "r_result", -3);*/
}
public void IncreaseReading(String NOTICE_ID)throws Exception;
四、调用
noticeService.IncreaseReading(1);