springboot项目中mybatis-plus@Mapper注入失败问题

 更新时间:2024年07月19日 08:54:26   作者:EricFRQ  
这篇文章主要介绍了springboot项目中mybatis-plus@Mapper注入失败问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

先排除以下几个原因

  • 1.application.properties的配置mapper-locations路径正确
  • 2.springboot启动类上加@MapperScan(value="xxxx")
  • 3.mapper.xml里的namespace配置正确
  • 4.xxxmapper接口使用了@Mapper

如果都不是

请降低mybatis-plus的版本!高版本哈是坑!比如我之前用的3.4.1,要吐了,找了俩小时bug。

可以换下面的这个:

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

补充几个mybatisplus的小知识点

1.自定义库表不存在的字段

	/**
	 * 子分类(自定义)
	 */
	@TableField(exist = false)
	private List<CategoryEntity> children;

2.逻辑删除的标记注解

(1)、注解标记

	@TableLogic
	private int deleted;// 0-未删除 1-已删除

(2)、3.2.0版本以下的mybatis-plus需要加配置

@Bean
    public ISqlInjector sqlInjector(){
        return new LogicSqlInjector();
    }

(3)、application配置文件加声明

mybatis-plus:
  global-config:
    db-config:
      logic-delete-value: 1
      logic-not-delete-value: 0

3.模糊查询某字段

 /**
 * public static final String EQUAL = "%s=#{%s}";等于
 */
    
/**
 * public static final String NOT_EQUAL = "%s&lt;&gt;#{%s}";不等于
 */
    
/**
 * public static final String LIKE = "%s LIKE CONCAT('%%',#{%s},'%%')";% 两边 %
 */
    
/**
* public static final String LIKE_LEFT = "%s LIKE CONCAT('%%',#{%s})";% 左
*/
    
/**
* public static final String LIKE_RIGHT = "%s LIKE CONCAT(#{%s},'%%')";右 %
*/
    
 @TableField(value = "task_name", condition = SqlCondition.LIKE)
 private String taskName;

4.查询案例

//查询method=1并且operation=2或者=3的数据:

//错误写法:where method=1 and operation=2 or operation=3
LambdaQueryWrapper<SysLog> qw = new LambdaQueryWrapper<>();
qw.eq(SysLog::getMethod, "1");
qw.eq(SysLog::getOperation, "2");
qw.or(i -> i.eq(SysLog::getOperation, "3"));

//正确写法(1) where method=1 and (operation=2 or operation=3)
qw.eq(SysLog::getMethod, "1").and(i -> i.eq(SysLog::getOperation, "2").or().eq(SysLog::getOperation, "3"));
//正确写法(2) where method=1 and (operation=2 or operation=3)
QueryWrapper<SysLog> wrapper = new QueryWrapper<>();
wrapper.eq("method","1").and(i->i.eq("operation","2").or().eq("operation",3));

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Java的位运算

    详解Java的位运算

    这篇文章主要介绍了详解Java的位运算,程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算就是直接对整数在内存中的二进制位进行操作,需要的朋友可以参考下
    2023-04-04
  • 集成apollo动态日志取缔logback-spring.xml配置

    集成apollo动态日志取缔logback-spring.xml配置

    这篇文章主要为大家介绍了集成apollo动态日志取缔logback-spring.xml配置的过程内容详解,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • 在spring中使用自定义注解注册监听器的方法

    在spring中使用自定义注解注册监听器的方法

    本篇文章主要介绍了在spring中使用自定义注解注册监听器的方法,本文就是在分析监听器回调原理的基础上,在spring环境中使用自定义的注解实现一个监听器。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • spring整合struts2过程详解

    spring整合struts2过程详解

    这篇文章主要介绍了spring整合struts2过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • MyBatis-Plus的apply用法小结

    MyBatis-Plus的apply用法小结

    apply方法是一个非常有用的功能,apply方法允许用户直接在QueryWrapper或LambdaQueryWrapper中添加原生SQL片段,本文就详细的介绍一下apply方法,感兴趣的可以了解一下
    2024-10-10
  • Mybatis注解方式@Insert的用法

    Mybatis注解方式@Insert的用法

    这篇文章主要介绍了Mybatis注解方式@Insert的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • jar包打包成exe安装包的实现

    jar包打包成exe安装包的实现

    本文主要介绍了jar包打包成exe安装包的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java实现微信支付的签名算法示例

    Java实现微信支付的签名算法示例

    这篇文章主要为大家介绍了Java实现微信支付的签名算法实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • java类的全限定名是什么

    java类的全限定名是什么

    Java中的全限定名指的是包含包名和类名的完整标识,例如“java.lang.String”,而非限定名仅指类名,如“String”,全限定名用于区分不同包中相同名字的类,避免引用混淆,特别是在有多个包含相同类名的库时
    2024-09-09
  • Java实现图片旋转、指定图像大小和水平翻转

    Java实现图片旋转、指定图像大小和水平翻转

    这篇文章主要为大家详细介绍了Java实现图像旋转,指定图像大小,水平翻转图像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02

最新评论