There is no getter for property named 'depart' in 'class com.xuezhixin.mls.web.model.Major'

There is no getter for property named ‘depart’ in ‘class com.xuezhixin.mls.web.model.Major’

我的major bean 是使用generate mybatis 自动生成的。但是遇到多表连接查询的时候 出现以上错误,原因是我的major bean 里面没有depart 所以会出现错误,需要手动补齐。

我的bean:
major 专业

 private String majorId;
 private String departId;
 private String name;
 private Byte sortOrder;

depart 学院 :

  private String departId;
  private String schoolId;
   private String name;

在mybatis 中进行多表查询

结果映射 由于最后的结果来自两个表,对基本的结果集要进行扩大。

<resultMap type="Major" id="MajorRM" extends="BaseResultMap">
    <association javaType="Depart" property="depart">
        <result column="depart_name" property="name" />
        </association>
  </resultMap>

多表查询语句,使用的是动态sql ,

  <select id="selectByModel" parameterType="Major" resultMap="MajorRM">
    select m.*,d.name as depart_name from major m
    left join depart d on m.departId=d.departId
    <where>
        <if test="departId !=null and departId !='' ">
            and m.departId=#{departId,jdbcType=CHAR}
        </if>

        <if test="name != null and name!='' ">
            and m.name=#{name,jdbcType=CHAR}
        </if>
    </where>    
  </select>

jsp 显示结果部分:

<td>${major1.name}</td>
                                                <td>${major1.depart.name}</td>

如果没有在 major bean 中增加:

private Depart depart;

    public Depart getDepart() {
        return depart;
    }

    public void setDepart(Depart depart) {
        this.depart = depart;
    }

会出现如标题错误。

<td>${major1.name}</td>
                                                <td>${major1.depart.name}</td>

major1.name 实际的代码应该是(我认为逻辑上)

Major major=new Major();
major.getName();
major.getDepart().getName();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个问题看起来是在尝试访问Java的String类中的一个属性(名为"month"),但是Java的String类中并没有这个属性。在Java中,String类没有提供名为"month"的属性或方法。如果你想获取月份,你可能需要使用java.time包中的LocalDate类或者使用循环或其他方式手动提取出日期字符串中的月份信息。 如果你的目的是从某个特定格式的日期字符串中提取月份,那么你可以通过编程的方式手动解析出这个信息。下面是一个基本的例子: ```java public class DateParser { public static void main(String[] args) { String dateString = "your_date_string"; int month = extractMonth(dateString); System.out.println("Month: " + month); } public static int extractMonth(String dateString) { String[] parts = dateString.split("/"); // 假设日期格式为"day/month/year" return Integer.parseInt(parts); // 返回月份部分 } } ``` 在这个例子中,我们假设日期字符串的格式是"day/month/year",并且我们通过分割字符串的方式提取出月份部分。这种方法对于一些常见日期格式应该是有效的,但并不是所有的日期字符串都可以这样解析。对于更复杂的日期格式,你可能需要使用更复杂的解析逻辑。 如果你的需求是在特定的环境下,例如你在使用某种特定框架或者库,并且有获取月份的方法,那么请提供更多的信息,我将很高兴为你提供更具体的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值