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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据采集架构

    大数据采集架构概述一般来说,当在Hadoop集群上,有足够数据处理的时候,通常会有很多生产数据的服务器。这些服务器的数量上百甚至成千上万。小的数据还可以直接从应用程序写入HDFS,但庞大数量的服务器试着将海量数据直接写入HDFS或者HBase集群,会因为多种原因导致重大问题。所以这个中间系统(数据采集系统)就是将应用程序发送过来的信息转发到分布式的后台服务器集群上,ChuKwaChuKwa是…

    2022年6月17日
    28
  • 大数据:数据采集平台之Fluentd

    大数据:数据采集平台之Fluentd大数据:数据采集平台之Fluentd官网:http://docs.fluentd.org/articles/quickstartFluentd是一个开源的数据收集框架。Fluentd使用C/Ruby开发,使用JSON文件来统一日志数据。它的可插拔架构,支持各种不同种类和格式的数据源和数据输出。最后它也同时提供了高可靠和很好的扩展性。TreasureData,Inc对该产品提供支持和维…

    2022年5月1日
    127
  • 江门python培训机构

    江门python培训机构猿辅导接近完成新一轮融资:腾讯领投,估值75亿美元据路透社报道,知情人士称,在线教育平台猿辅导接近完成新一轮融资,估值约为75亿美元。本轮融资由腾讯控股公司和私募股权公司高瓴资本领投。对此,猿辅导向多知网表示“消息不准确”,暂未进一步说明。腾讯和高瓴资本均暂未对融资消息置评。教育部、财政部:实施教师在线教学能力提升行动教育部、财政部印发《关于做好2020年中小学幼儿园教师国家级培训计划组织实施工作的通知》。通知提出,实施教师在线教学能力提升行动,已经或计划开展在线教学的省(区、市),要通过线上培

    2022年6月9日
    48
  • sql 左连接数据出现重复[通俗易懂]

    目录一、简化举例二、查询结果一、简化举例1、表aa2、表bb二、查询结果1、无条件查询2、左链接查询右表数据有重复时,连接关系如下所以查询数据会出现重复,所以要保证右表所关联唯一…

    2022年4月9日
    352
  • r语言ggplot回归分析图_R如何导入数据

    r语言ggplot回归分析图_R如何导入数据#第一章R基础install.packages(c("ggplot2","gcookbook"))library(ggplot2)library(gcookbook)#加载分隔符式的文本文件#data&lt;-read.csv("datafile.csv")#data&lt;-read.csv("datafile.csv",header=FALSE)#手动为列名赋值#name…

    2022年10月3日
    3
  • centos7桌面网络配置_Centos7网络配置+图形界面设置

    centos7桌面网络配置_Centos7网络配置+图形界面设置一.查看网络地址:centos7取消了ifconfig命令,使用ipaddr命令查看IP地址二.配置网络用VirtualBox安装的CentOS7,安装完成后,发现无法上网,于是到网上查了一下,经过以下几步即可上网。1.找到以太网卡配置文件ifcfg-enp**文件,过面的数字好像是随机生成的。2.使用Root打开并编辑些文件,将onboot的”no”改为“yes”,然后重启网络。最后输入:…

    2022年5月23日
    260

发表回复

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

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