ssm Dao层无返回 函数始终不退出

SSM项目中 service调用Dao接口函数 可是却一直没有返回 函数也没有退出 下面上代码 看看代码是否有问题(第一次写SSM项目 请各位指教)

  • Controller

            List<String> todayClass = courseService.QueryDaytableById(user.getUsername());
            session.setAttribute("todaytable", todayClass);
            return "success";
  • Service

    public List<String> QueryDaytableById(String username){
        SimpleDateFormat sdf = new SimpleDateFormat("E", Locale.ENGLISH);
        Date date = new Date();
        String day = sdf.format(date).toLowerCase();
        log.info("获取" + username + "-" + day + "课程表");
        return coursetableDao.QueryDaytableById(day, username);
    }
  • Dao接口

    List<String> QueryDaytableById(String day, String username);

  • Mapper

        <select id="QueryDaytableById" parameterType="String" resultType="String">
        SELECT #{day} FROM coursetable WHERE studentid=#{username}
        </select>

现在的问题是 在Controller成功调用service的方法(日志也记录了) 可是service调用dao的方法 却迟迟没有结束,导致Controller的List<String> todayClass = courseService.QueryDaytableById(user.getUsername());语句一直没有进行完 就卡在这了 请各位看看我哪里写错了 虚心学习

阅读 3k
3 个回答

Service类中 return之前,打印一下coursetableDao.QueryDaytableById(day, username);
然后用log4j打印下sql是否正确.
SELECT #{0} FROM coursetable WHERE studentid=#{1} 试一试.

byId为什么是name

List<String> QueryDaytableById(@Param("day") String day,@Param("username") String username);

<select id="QueryDaytableById" resultType="String">

    SELECT #{day} FROM coursetable WHERE studentid=#{username}
    </select>
    
 或者使用一个对象接收参数
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题