Mybatis踩坑:使用@Alias,启动报错To display the conditions report re-run your application with ‘debug‘ enabled

为了避免在使用Mybatis的时候,反复在mapper.xml文件中指定参数类型(ParamterTyp)和返回类型(resultType)的完整包名,决定在实体类上使用@Alias注解来简化操作。

使用@Alias注解前

<select id="queryOneCompetition" parameterType="com.wly.competition_system_management_backend.model.query.CompetitionQuery"
        resultType="com.wly.competition_system_management_backend.model.domain.Competition">
        select id, name, level, createTime, updateTime, expireTime
        from competition
        <where>
            <if test="id != null">
                AND id = #{id}
            </if>
            <if test="name != null">
                AND name = #{name}
            </if>
            <if test="level != null">
                AND level = #{level}
            </if>
            <if test="expireTime != null">
                AND expireTime = #{expireTime}
            </if>
            AND isDelete != 1
        </where>

    </select>

使用@Alias注解后

<select id="queryOneCompetition" parameterType="competitionQuery" resultType="competition">
        select id, name, level, createTime, updateTime, expireTime
        from competition
        <where>
            <if test="id != null">
                AND id = #{id}
            </if>
            <if test="name != null">
                AND name = #{name}
            </if>
            <if test="level != null">
                AND level = #{level}
            </if>
            <if test="expireTime != null">
                AND expireTime = #{expireTime}
            </if>
            AND isDelete != 1
        </where>

    </select>
@Data
@Alias("competitionQuery")
public class CompetitionQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;


    /**
     *  竞赛名称
     */
    private String name;


    /**
     *  竞赛等级
     */
    private String level;

    /**
     * 过期时间
     */
    private Date expireTime;
}

但是这时在进行测试和启动项目的时候控制台会报错

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.

原因是没有在配置文件中为Mybatis指定@Alias注解需要扫描的包位置,需要在配置文件(使用的yml格式)配置如下:

mybatis:
  type-aliases-package: com.wly.competition_system_management_backend.model

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值