登录后提示错误,一直没找到问题所在

登录后提示错误,一直没找到问题所在

启动tomcat后,登录系统,浏览器显示空白页面,报错内容如下:http://img1.sycdn.imooc.com//climg/5bf1714700018bd228181684.jpg

正在回答

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

5回答

1、如下图所示,建议你将selfDao改为SelfDao,要与接口名相同。

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

2、如果同学其他代码是粘贴老师的源码,后面可以加上.resultMap来引用StaffDao中的配置,祝学习 愉快~

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

提问者 慕标3951566 2018-11-20 08:45:04
package com.mango.oa.service.impl;

import com.mango.oa.dao.SelfDao;
import com.mango.oa.dao.StaffDao;
import com.mango.oa.entity.Staff;
import com.mango.oa.service.SelfService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("selfService")
public class SelfServiceImpl implements SelfService {

    @Autowired
    private SelfDao selfDao;

    @Autowired
    private StaffDao staffDao;

    public Staff login(String account, String password) {
        Staff staff = selfDao.selectByAccount(account);
        if(staff == null) return null;
        if(staff.getPassword().equals(password)) return staff;
        return null;
    }

    public void changePassword(Integer id, String password) {
        Staff staff = staffDao.selectById(id);
        staff.setPassword(password);
        staffDao.update(staff);
    }
}


chrismorgen 2018-11-19 16:30:52

如下图所示,建议你将.resultMap去掉试试,祝学习愉快~

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

  • 提问者 慕标3951566 #1
    按照这个方式试了,还是报同样的错误。
    2018-11-19 16:36:09
  • chrismorgen 回复 提问者 慕标3951566 #2
    建议同学将你SelfServiceImpl的中的代码也粘贴一下
    2018-11-19 18:33:10
  • 提问者 慕标3951566 回复 chrismorgen #3
    package com.mango.oa.service.impl; import com.mango.oa.dao.SelfDao; import com.mango.oa.dao.StaffDao; import com.mango.oa.entity.Staff; import com.mango.oa.service.SelfService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service("selfService") public class SelfServiceImpl implements SelfService { @Autowired private SelfDao selfDao; @Autowired private StaffDao staffDao; public Staff login(String account, String password) { Staff staff = selfDao.selectByAccount(account); if(staff == null) return null; if(staff.getPassword().equals(password)) return staff; return null; } public void changePassword(Integer id, String password) { Staff staff = staffDao.selectById(id); staff.setPassword(password); staffDao.update(staff); } }
    2018-11-20 08:44:27
提问者 慕标3951566 2018-11-19 13:14:40

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

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

selfDao.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mango.oa.dao.SelfDao">
    <select id="selectByAccount" parameterType="String" resultMap="com.mango.oa.dao.StaffDao.resultMap">
        select * from staff where account = #{account}
    </select>
</mapper>

staffDao.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.4//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mango.oa.dao.StaffDao">
    <resultMap id="resultMap" type="Staff">
        <id property="id" column="id" javaType="Integer"/>
        <result property="account" column="account" javaType="String"/>
        <result property="password" column="password" javaType="String"/>
        <result property="status" column="status" javaType="String"/>
        <result property="did" column="did" javaType="Integer"/>
        <result property="name" column="name" javaType="String"/>
        <result property="sex" column="sex" javaType="String"/>
        <result property="idNumber" column="id_number" javaType="String"/>
        <result property="workTime" column="work_time" javaType="java.util.Date"/>
        <result property="leaveTime" column="leave_time" javaType="java.util.Date"/>
        <result property="bornDate" column="born_date" javaType="java.util.Date"/>
        <result property="info" column="info" javaType="String"/>
        <association property="department" column="did" javaType="Department" select="com.mango.oa.dao.DepartmentDao.selectById" />
    </resultMap>

    <insert id="insert" parameterType="Staff" useGeneratedKeys="true">
        insert into staff(account,password,status,did,name,sex,id_number,work_time,leave_time,born_date,info)
        values(#{account},#{password},#{status},#{did},#{name},#{sex},#{idNumber},#{workTime},#{leaveTime},#{bornDate},#{info})
    </insert>
    <delete id="delete" parameterType="Integer">
        delete from staff where id=#{id}
    </delete>
    <update id="update" parameterType="Staff">
        update staff set account=#{account},password=#{password},status=#{status},
        did=#{did},name=#{name},sex=#{sex},id_number=#{idNumber},
        work_time=#{workTime},leave_time=#{leaveTime},born_date=#{bornDate},info=#{info} where id=#{id}
    </update>
    <select id="selectById" parameterType="Integer" resultMap="resultMap">
        select * from staff where id=#{id}
    </select>
    <select id="selectAll" resultMap="resultMap">
        select * from staff
    </select>
</mapper>


chrismorgen 2018-11-19 11:04:38

该错误是绑定错误,建议你检查xml文件中配置的包名与你项目中的包名是否一致?如果还有疑问,可以将你的目录结构和你的xml配置文件粘贴一下,祝学习愉快~

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

  • 提问者 慕标3951566 #1
    我没有找出来绑定的错误,代码我粘贴了,您看一下。
    2018-11-19 13:15:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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