Mybatis-Plus整合Mybatis项目

做小项目,把mybatis改成mybatisplus图方便。结果到了多表查询开始傻眼。自定义xml写sql多表查询语句一直出现Invalid bound statement (not found),但是原有的查询语句均能正常运行。

解决方案一:在Mapper中写@select注解

    //根据用户id查找用户名
    //左连接 根据用户id查找用户昵称
    @Select("<script>" +
            "SELECT information.*, `user`. `name` AS username " +
            "FROM information " +
            "LEFT JOIN `user` ON information.user_id = `user`.id " +
            "WHERE information.`name` LIKE CONCAT('%', #{infoname}, '%') AND information.isdelete = 0" +

            // 添加根据 user_id 查询的条件
            "<if test='userId != null'>" +
            "AND information.user_id = #{userId} " +
            "</if>" +
            //添加根据是否推荐的条件
            "<if test='recommend != null'>" +
            "AND information.recommend = #{recommend} " +
            "</if>" +
            //添加根据是否通过的条件
            "<if test='status != null'>" +
            "AND information.status = #{status} " +
            "</if>" +
            // 添加按照 id 从大到小排序的条件
            "ORDER BY information.id DESC" +

            "</script>")
    List<Information> setInformationUsername(@Param("infoname") String infoname,
                                             @Param("userId") Integer userId,
                                             @Param("recommend") Integer recommend,
                                             @Param("status") Integer status);

如果只是简单条件查询,注解方式还是挺快的
这仅仅只是查询两个表,远没有mybatis直接在xml文件写的简洁
然后官网对Invalid bound statement (not found)这个异常建议是这样的
在这里插入图片描述
虽然给了五种解决方式(都是针对扫描mapper包的问题),但是一个没解决我的问题。
随着业务需求,这种查询方式过于冗余!

解决方案二:检查mybatis-plus相关配置

pom.xml:

<!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.1</version>
        </dependency>

appplication.yml(这步很关键)

mybatis-plus: #不要写成mybatis
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.yourspackage.entity #写自己的包路径就行
  
#执行的sql会在控制台打印
logging:
  level:
    com.yourspackage: DEBUG #写自己的包路径就行

可以愉快的玩耍啦~
在这里插入图片描述

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值