javacomparator_mybatis是做什么的

javacomparator_mybatis是做什么的Myabatis-Plus集成异常下面贴出错误信息:java.lang.NoSuchMethodError:com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(Ljava/lang/CharSequence;)Z11:29:34.886[main]DEBUGorg.springframework.boot.context.logging.ClasspathLoggingApplicationListener-Appli

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Myabatis-Plus集成异常

下面贴出错误信息 : java.lang.NoSuchMethodError: com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(Ljava/lang/CharSequence;)Z

11:29:34.886 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: unknown
11:29:35.129 [background-preinit] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL
11:29:35.188 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator.
11:29:35.188 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.resolver.JPATraversableResolver as ValidatorFactory-scoped traversable resolver.
11:29:35.188 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider.
11:29:35.189 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider.
11:29:35.189 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory.
11:29:37.476 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoSuchMethodError: com.baomidou.mybatisplus.core.toolkit.StringUtils.isNotBlank(Ljava/lang/CharSequence;)Z
  at com.baomidou.mybatisplus.autoconfigure.SafetyEncryptProcessor.postProcessEnvironment(SafetyEncryptProcessor.java:55)
  at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEnvironmentPreparedEvent(ConfigFileApplicationListener.java:179)
  at org.springframework.boot.context.config.ConfigFileApplicationListener.onApplicationEvent(ConfigFileApplicationListener.java:165)
  at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
  at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
  at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
  at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
  at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:75)
  at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54)
  at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:347)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:306)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
  at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
  at com.lenovo.hawk.HawkPaDashboardApplication.main(HawkPaDashboardApplication.java:38)
Disconnected from the target VM, address: '127.0.0.1:56249', transport: 'socket'

可以看到是没有isNotBlank这个方法, mybatis-plus依赖包找不到这个方法,即版本兼容问题,mybatis-plus 的版本与mybatis-plus-boot-starter 版本不兼容

         /**
         * 处理加密内容
         */
        if (StringUtils.isNotBlank(mpwKey)) {
            HashMap<String, Object> map = new HashMap<>();
            for (PropertySource<?> ps : environment.getPropertySources()) {
                if (ps instanceof OriginTrackedMapPropertySource) {
                    OriginTrackedMapPropertySource source = (OriginTrackedMapPropertySource) ps;
                    for (String name : source.getPropertyNames()) {
                        Object value = source.getProperty(name);
                        if (value instanceof String) {
                            String str = (String) value;
                            if (str.startsWith("mpw:")) {
                                map.put(name, AES.decrypt(str.substring(4), mpwKey));
                            }
                        }
                    }
                }
            }   

版本兼容问题解决

修改mybatis-plus解决 , 下面贴出集成的mybatis-plus全部依赖

	    <!-- mybatis-plus集成依赖包 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.0</version>
        </dependency>
        <!-- mybatis-plus分页插件 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.4.0</version>
        </dependency>

mybatis-plus集成分页插件问题

由于我使用的是最新的3.4版本,所以PaginationInterceptor 在该jar包中过期,下面贴出解决方案

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * mybatis-plus 集成分页插件配置
 * @Auther Hsg
 * @Date 2020/09/07
 */
@Configuration
public class MybatisPlusConfig {

    @Bean
    public MybatisPlusInterceptor paginationInterceptor(){
        return new MybatisPlusInterceptor();
    }

}

封装查询方法修改

由于使用的版本比较新,对应的 new EntityWrapper<>()方法不可用替换为 new QueryWrapper<>()给出一个简单的用例

@Service
@Transactional(readOnly = false)
public class CompanyServiceImpl implements CompanyService {

    @Autowired
    CompanyMapper companyMapper;

    public Integer findCount(){
        return companyMapper.findCount();
    }

    @Override
    public IPage<Company> findByPage() {
        Page<Company> page = new Page<>(0, 2);
        QueryWrapper<Company> query = new QueryWrapper<>();
        query.orderByDesc("name");
        IPage<Company> pageResult = companyMapper.selectPage(page, query);
        return pageResult;
    }

}

配置相关(yaml)

由于项目刚刚搭建完成,此处贴出一些重要的配置信息,后续额外配置需要在一一添加

#配置mybatis-plus相关属性
mybatis-plus:
  #配置mapper.xml文件读取位置信息
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.lenovo.hawk.mapper
  # 全局mapper映射数据库配置
  global-config:
    db-config:
      #主键生成策略
      id-type: UUID
      #数据库大写下划线转换
      capital-mode: true
      #配置逻辑删除字段
      logic-delete-value: 1
      logic-not-delete-value: 0
    refresh: true
  configuration:
    #配置返回数据库(column下划线 -> java驼峰式)
    map-underscore-to-camel-case: true
    #缓存配置false,默认全部重新读取
    cache-enabled: false

至此Mybatis-Plus集成完成,实现简单的CRUD以及分页查询功能

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169996.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • idea web项目部署到tomcat_系统部署步骤

    idea web项目部署到tomcat_系统部署步骤使用IDEA编辑器开发项目十分便捷,这里介绍使用IDEA编辑器添加Tomcat详细的记叙了intelliJIdea中Tomcat的部署,主要是在Tomcat部署的时候一些细节性的东西。1、新建web工程这里有一个已经创建好的web项目2、配置tomcat配置tomcat前,先确保本地已经下载并安装完成了tomcat如果不清楚如何安装tomc…

    2022年10月10日
    0
  • 关于Js后退几种方式

    关于Js后退几种方式2019独角兽企业重金招聘Python工程师标准>>>…

    2022年7月25日
    4
  • 任正非的管理思想核心_任正非管理思想心得

    任正非的管理思想核心_任正非管理思想心得励精图治,再创辉煌——任正非在财经采购系统干部就职仪式上的讲话希望你们在新的岗位上搞好团结,脚踏实地,一丝不苟地,诚实地,不哗众取宠地去做好自己管辖的事情。要按公司的产品定位与市场定位,跟进自己的工作。一、财务系统要逐步由现行核算型会计模式扩展为管理型。必须加强预测、决策、分析与控制工作。企业管理的核心就是提高质量,降低成本。抓财务管理,就是要抓资金流通的全过程及全部内容,以及不断…

    2025年6月8日
    0
  • Java审计之XSS篇

    Java审计之XSS篇0x00前言继续学习一波Java审计的XSS漏洞的产生过程和代码。0x01Java中XSS漏洞代码分析xss原理xss产生过程:后台未对用户输入进行检查或过滤

    2021年12月12日
    37
  • .net 4.0 ValidateRequest=”false” 无效「建议收藏」

    .net 4.0 ValidateRequest=”false” 无效「建议收藏」
    当你在安装了.NETFramework4.0以上版本后,当你的应用程序以.NETFramework4.0为框架版本,你的任意服务器请求,都将被进行服务器请求验证(ValidationRequest),这不仅包括ASP.NET,同时也包括WebServices等各种HTTP请求,不仅仅针对aspx页面,也针对HTTPHandler,HTTPModule等,因为这个验证(Valify)的过程,将会发生在BeginRequest事件之前。
       问题的解决方案就是在全局级别(

    2022年6月6日
    32
  • centos5.2下安装配置postfix[通俗易懂]

    centos5.2下安装配置postfix

    2022年3月8日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号