weixin_46072760 2022-03-05 11:02 采纳率: 84.3%
浏览 18
已结题

mybatis 进行一对一关联查询时候, 测试类总是报实体类tostring错误,无法定位原因

问题遇到的现象和发生背景

mybatis 进行一对一关联查询时候, 测试类总是报实体类tostring错误,无法定位原因

img

package cn.com.sise.pojo;

/**
 * 专业类
 */

public class Major {

    private String majorId;//专业ID
    private String majorName;//专业
    private Integer tuition;//学费
    private Integer deptId;//系别ID
    private Dept dept;//添加关联对象
    public Major() {
    }

    public Major(String majorId) {
        this.majorId = majorId;
    }

    /*public Major(Integer deptId) {
        this.deptId = deptId;
    }*/

    /*public Major(String majorName, Integer deptId) {
        this.majorName = majorName;
        this.deptId = deptId;
    }
*/
    public String getMajorId() {
        return majorId;
    }

    public void setMajorId(String majorId) {
        this.majorId = majorId;
    }

    public String getMajorName() {
        return majorName;
    }

    public void setMajorName(String majorName) {
        this.majorName = majorName;
    }

    public Integer getTuition() {
        return tuition;
    }

    public void setTuition(Integer tuition) {
        this.tuition = tuition;
    }

    public Integer getDeptId() {
        return deptId;
    }

    public void setDeptId(Integer deptId) {
        this.deptId = deptId;
    }

    public Dept getDept() {
        return dept;
    }

    public void setDept(Dept dept) {
        this.dept = dept;
    }

    @Override
    public String toString() {
        return "Major{" +
                "majorId=" + majorId +
                ", majorName='" + majorName + '\'' +
                ", tuition=" + tuition +
                ", deptId=" + dept.getDeptId() +
                ", deptname=" + dept.getDeptName() +
                '}';
    }
}



MajorMapper.xml

<mapper namespace="cn.com.sise.mapper.MajorMapper">

  <!--嵌套查询方式:根据专业名称模糊查找专业及相关的系部信息-->
  <select id="findMajorsWithDeptByMajorName" resultMap="majorList">
    select * from tb_major where major_name like concat("%",#{majorName},"%")
  </select>

  <resultMap id="majorList" type="major">
    <id property="majorId" column="major_id"/>
    <result property="majorName" column="major_name"/>
    <result property="tuition" column="tuition"/>
    <!-- 方式一:嵌套查询 -->
    <!-- 一对一:association使用select属性引入另外一条SQL语句 -->
    <association property="dept" javaType="cn.com.sise.pojo.Dept" column="dept_id"  select="cn.com.sise.mapper.DeptMapper.findDeptById"/>
  </resultMap>

</mapper>


DeptMapper.xml
    <!-- 根据系编号查询系信息-->
    <select id="findDeptById" resultType="cn.com.sise.pojo.Dept">
        select * from tb_dept where dept_id=#{deptId}
    </select>
  • 写回答

1条回答 默认 最新

  • Juwell16 2022-03-05 11:43
    关注

    你这是空指针异常,打印的时候会把对象转成字符串,major是空的转字符串肯定要报异常呀

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月5日

悬赏问题

  • ¥20 画CAD几张图片内容如下1111111111111111111111111111111111111111111
  • ¥15 基于python的电影系统推荐
  • ¥20 springmvc重定向和返回json
  • ¥15 数学建模——参会安排怎么做
  • ¥15 电脑键盘实现触摸功能
  • ¥25 matlab无法将表达式转换为双数组怎么解决?
  • ¥15 单片机汇编语言相关程序
  • ¥20 家用射频美容仪技术规格
  • ¥15 大家帮我看看为什么错了
  • ¥15 unity互动琴弦抖动效果