关于sql判断报错问题

关于sql判断报错问题

<select id="findAll" resultMap="forAll">
    select * from student
        <if test="major!=null">
            where major = #{major}

        </if>

</select>

<resultMap id="forAll" type="com.been.Strudent">
    <id property="id" column="id"></id>
    <collection property="courses" column="id" ofType="com.been.Course" select="getCourses"></collection>
</resultMap>

<select id="getCourses">
    select * from course where major_name = #{major}
</select>
if(Objects.equals("/findAll",pathStr)){

    major = "哲学系";
    List<Strudent> all= studentDao.findAll(major);

    System.out.println(all);
    request.setAttribute("students", all);

    request.getRequestDispatcher(request.getContextPath() + "/WEB-INF/all.jsp").forward(request, response);
}
public List<Strudent> findAll(@Param("major")String major) {
    try {
        list = getSqlSession().selectList("findAll",major);

    } finally {
        SqlSessionUtil.closeSqlSession();
    }

    return list;
}

http://img1.sycdn.imooc.com//climg/5b6c66c300015c6e15780880.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 慕容5097141 2018-08-10 00:09:43

将sql中的if判断去掉就不在报错,这是为什么?请问老师还有其他解决办法吗?

  • 建议同学看一下视频3-6 动态SQL语句的配置和使用 中2分40秒左右,老师演示了这个问题,并告知了解决方案。建议同学回顾一下呦! 如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
    2018-08-10 09:55:43
  • 提问者 慕容5097141 回复 好帮手慕阿莹 #2
    找到了,感谢
    2018-08-10 14:52:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师