亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嵌套異常是 java.sql.SQLTransactionRollbackException:

嵌套異常是 java.sql.SQLTransactionRollbackException:

蠱毒傳說 2021-09-03 17:04:14
概述我制作了一個控制器,我通過自動裝配傳遞 Dao 并使用 jdbctemplate 執行查詢??刂破髡{用 dao 中的方法從數據庫中檢索一個表。代碼控制器@Controller  public class ManagerRoles {    @Autowired      EmployeeDao dao;    @RequestMapping("getEmployeeSchedule/{empID}")    public ModelAndView employeeData(@PathVariable("empID")int empID,HttpServletRequest req,HttpServletResponse res,ModelMap model){        long millis=System.currentTimeMillis();          Date dateStart = new Date(millis);         Date dateFinal = new Date(dateStart.getYear(),dateStart.getMonth(),dateStart.getDate()+30);        System.out.println(dateStart);        System.out.println(dateFinal);        List<EmployeeHolidays> holidayList = dao.retrieveHolidays(dateStart, dateFinal);        if(holidayList!=null){        model.put("holidayList",holidayList);        }        System.out.println(holidayList);        return null;    }}問題是當我嘗試運行 webapp 時,當我嘗試檢索表數據時出現以下錯誤。類型異常報告消息請求處理失?。磺短桩惓J?org.springframework.dao.ConcurrencyFailureException: StatementCallback; SQL [SELECT * FROM HOLIDAYS WHERE DATE >= ? 和日期 <= ? ]; 當前語句的至少一個參數未初始化。嵌套異常是 java.sql.SQLTransactionRollbackException:至少當前語句的一個參數未初始化。說明 服務器遇到了阻止其完成請求的意外情況。例外org.springframework.web.util.NestedServletException:請求處理失??;嵌套異常是 org.springframework.dao.ConcurrencyFailureException: StatementCallback; SQL [SELECT * FROM HOLIDAYS WHERE DATE >= ? 和日期 <= ? ]; 當前語句的至少一個參數未初始化。嵌套異常是 java.sql.SQLTransactionRollbackException:至少當前語句的一個參數未初始化。org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) javax.servlet.http.HttpServlet.service(HttpServlet.java: 622)org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) javax.servlet.http.HttpServlet.service(HttpServlet.java:729)我檢查了我傳遞的參數,它們都有值。我似乎沒有找到問題的根源。誰能幫我這個?
查看完整描述

1 回答

?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

您忘記將parametersas添加arguments到查詢方法中,請看這里:


public List<EmployeeHolidays> retrieveHolidays(Date startDate,Date endDate){

        String sql = "SELECT * FROM HOLIDAYS WHERE DATE >= ? AND DATE <= ? ";

        List<EmployeeHolidays> list = template.query(

sql ,

new Object[] { startDate, endDate} //add this

new RowMapper<EmployeeHolidays>(){

            public EmployeeHolidays mapRow(ResultSet rs,int rownumber) throws SQLException{

                EmployeeHolidays e = new EmployeeHolidays();

                e.setDate(rs.getDate(1));

                e.setReason(rs.getString(2));

                e.setStatus(rs.getString(3));

                return e;

            }

        });

        return list;

    }


查看完整回答
反對 回復 2021-09-03
  • 1 回答
  • 0 關注
  • 756 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號