一个简单易用的关联字段填充框架,通过简单的注解配置快速根据外键/编码值填充相关字段,支持字典,枚举,方法等多种数据源。 A simple and easy-to-use data mapping framework, quickly populate relevant fields according to foreign keys/encoded values through simple annotation configuration, supports dictionaries, enumerations, methods and other data sources.
java.lang.NoSuchMethodError: com.baomidou.mybatisplus.core.conditions.query.QueryWrapper.select([Ljava/lang/String;)Lcom/baomidou/mybatisplus/core/conditions/query/QueryWrapper;
at cn.crane4j.extension.mybatis.plus.MybatisPlusQueryContainerProvider$Query.getQueryWrapper(MybatisPlusQueryContainerProvider.java:279)
at cn.crane4j.extension.mybatis.plus.MybatisPlusQueryContainerProvider$Query.invoke(MybatisPlusQueryContainerProvider.java:273)
at cn.crane4j.core.container.MethodInvokerContainer.get(MethodInvokerContainer.java:80)
at cn.crane4j.core.executor.handler.OneToOneAssembleOperationHandler.getSourcesFromContainer(OneToOneAssembleOperationHandler.java:84)
at cn.crane4j.core.executor.handler.AbstractAssembleOperationHandler.doProcess(AbstractAssembleOperationHandler.java:74)
at cn.crane4j.core.executor.handler.AbstractAssembleOperationHandler.lambda$process$1(AbstractAssembleOperationHandler.java:64)
at cn.crane4j.core.util.TimerUtil.lambda$getExecutionTime$0(TimerUtil.java:27)
at cn.crane4j.core.util.TimerUtil.getExecutionTime(TimerUtil.java:44)
at cn.crane4j.core.util.TimerUtil.getExecutionTime(TimerUtil.java:26)
at cn.crane4j.core.executor.handler.AbstractAssembleOperationHandler.process(AbstractAssembleOperationHandler.java:61)
at cn.crane4j.core.executor.DisorderedBeanOperationExecutor.lambda$null$0(DisorderedBeanOperationExecutor.java:63)
at cn.crane4j.core.executor.AbstractBeanOperationExecutor.tryExecute(AbstractBeanOperationExecutor.java:221)
at cn.crane4j.core.executor.DisorderedBeanOperationExecutor.lambda$doExecuteOperations$1(DisorderedBeanOperationExecutor.java:63)
at java.util.HashMap.forEach(HashMap.java:1290)
at cn.crane4j.core.executor.DisorderedBeanOperationExecutor.doExecuteOperations(DisorderedBeanOperationExecutor.java:63)
at java.util.HashMap.forEach(HashMap.java:1290)
at cn.crane4j.core.executor.DisorderedBeanOperationExecutor.executeOperations(DisorderedBeanOperationExecutor.java:54)
at cn.crane4j.core.executor.AbstractBeanOperationExecutor.lambda$execute$5(AbstractBeanOperationExecutor.java:135)
at cn.crane4j.core.util.TimerUtil.lambda$getExecutionTime$0(TimerUtil.java:27)
at cn.crane4j.core.util.TimerUtil.getExecutionTime(TimerUtil.java:44)
at cn.crane4j.core.util.TimerUtil.getExecutionTime(TimerUtil.java:26)
at cn.crane4j.core.executor.AbstractBeanOperationExecutor.execute(AbstractBeanOperationExecutor.java:132)
at cn.crane4j.core.executor.BeanOperationExecutor.execute(BeanOperationExecutor.java:46)
at cn.crane4j.core.support.OperateTemplate.execute(OperateTemplate.java:168)
at cn.crane4j.core.support.OperateTemplate.execute(OperateTemplate.java:119)
at cn.crane4j.core.support.OperateTemplate.executeIfMatchAnyGroups(OperateTemplate.java:45)
at MpExtensionExampleTest.testPrimaryKeyAndCustomColumns(MpExtensionExampleTest.java:91)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)
at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:232)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:55)
在使crane4j v2.1.0 与 Mybatis Plus v3.5.3.2的Spring Boot v2.4.2集成环境中,使用
@AssembleMp
注解时,若指定查询字段属,如selects = {"userName", "userAge"}
,则会抛出如下异常信息: