Giter VIP home page Giter VIP logo

mybatis-plus-samples's Issues

关于MP+Springboot service层方法互相调用会循环引用的解决方法探索

1.场景:

class AServiceImpl extends ServiceImpl<AMapper, A> implements IAService{

//一个findByName比较通用的自定义方法

LambdaQueryWrapper<A> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(A::getName,name);
return baseMapper.selectOne(wrapper);

}

2.问题:

class B serviceImp类中需要调用A的findByName,
然后A serviceImpl类中也有方法需要调用B中的方法,
那么就会存在循环引用,类似这种类型的case,一般可以怎么调整代码结构解除循环引用?

  1. 注意:
    通过传统的mybatis的方法能够将类似findByName的基础方法下放到mapper实现可以解决以上问题,但是仍想保留mybatis plus的特性的话,并不想每次通过AMapper.selectOne(new QueryWrapper().eq(A::getName)),那样就缺乏了通用性,
    应该如何调整代码结构,谢谢!

sample没有tag?

您好,

建议Sample能够按照Mybatis-Plus的版本来打tag,这样方便不同版本的用户能够直接找到适应版本的sample,以方便进行学习。

现在只能通过找Git History的方法来找到老版本的使用用法。但确实不太方便。

所以,考虑一下?

达梦(DM)生成的表映射实体中没有Schema属性

数据库为达梦数据库,我在DataSourceConfig中设置了SchemaName后,发现生成的表映射实体中没有Schema属性,导致查询失败,必须手机把schema属性加上才可以,请问这种情况怎么解决?

xml中自定义SQL分页查询,使用Map传参报错

今天从2.x 升级到3.0.7后,报错

  1. xml
<!-- 列表分页查询 -->
    <select id="selectImagesList"  parameterType="java.util.Map" resultMap="BaseResultMap">
		select
		     t.id,
  		     t.name,
  		     t.url,
  		     t.path,
  		     t.type,
  		     t.ctime,
  		     t.isdel  
		from
			t_images as t
        <where>
			<if test="id != null">
				t.id = #{id}
			</if>
			<if test="name != null">
				AND t.name like CONCAT('%',#{name},'%')
			</if>
        </where>
    </select>
  1. mapper
/**
     * 列表分页查询
     * @param page
     * @return
     */
    List<Images> selectImagesList(Page<Images> page, Map paramMap);
  1. 报错信息
2019-06-10 09:34:33,327 ERROR ExceptionFilter:96 -  [DUBBO] Got unchecked and undeclared exception which called by 192.168.56.1. service: com.xlauch.mall.api.facade.deve.IImagesSvc, method: selectImagesList, exception: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [, arg0, param1, param2], dubbo version: 2.7.0, current host: 192.168.56.1
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [, arg0, param1, param2]
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
	at com.sun.proxy.$Proxy62.selectList(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java:230)
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.executeForMany(MybatisMapperMethod.java:158)
	at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:76)
	at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:62)
	at com.sun.proxy.$Proxy63.selectImagesList(Unknown Source)
	at com.xlauch.mall.svc.service.deve.impl.ImagesServiceImpl.selectImagesList(ImagesServiceImpl.java:31)
	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206)
	at com.sun.proxy.$Proxy66.selectImagesList(Unknown Source)
	at com.xlauch.mall.svc.facade.deve.ImagesSvc.selectImagesList(ImagesSvc.java:38)
	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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:206)
	at com.sun.proxy.$Proxy85.selectImagesList(Unknown Source)

大佬包更新不下来啊,

http://repo.maven.apache.org/maven2/.error=
http://gnet-central.quanshi.com:9001/nexus/content/groups/public/.lastUpdated=1575281831752
http://maven.aliyun.com/nexus/content/groups/public/.error=Could not transfer artifact com.baomidou:mybatis-plus:pom:3.2.1 from/to aliyun_1 (http://maven.aliyun.com/nexus/content/groups/public/): java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

我已经不清楚现在到底用那个版本了,那个版本更新下来都是好多错

mybatisplus.samples.generator中H2CodeGenerationTest生成文件内容为空

操作:通过GeneratorH2Application运行初始化生成D:/mybatisplus.mv文件后
修改H2CodeGenerationTest文件dsc.setUrl("jdbc:p6spy:h2:file:d:/mybatisplus;TRACE_LEVEL_FILE=0;IFEXISTS=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE");
testGetTableNames运行有USER表;generateCode()运行后User.java无字段信息
控制台:SQL Exception:Column "Extra" not found [42122-200]
生成文件:package com.baomidou.mybatisplus.samples.generator.h2.entity;

               /**
              仅演示使用自定义模板
              */
              public class User {
              }

当生成器设置字段去掉is前缀时,生成的字段没有@TableField标签

当生成器在StrategyConfig中设置setEntityBooleanColumnRemoveIsPrefix为 true 时,生成的字段没有@TableField标签,导致查询时字段不对应报错,通过查看源码发现在TableField.setConvert(StrategyConfig strategyConfig)方法中的判断有问题

源代码片段如下

    protected void setConvert(StrategyConfig strategyConfig) {
        if (strategyConfig.isCapitalModeNaming(this.name)) {
            this.convert = false;
        } else if (NamingStrategy.underline_to_camel == strategyConfig.getColumnNaming()) {
            //如果我的表字段为is_deleted,则会进来这里,但是不会进入下面的判断,导致convert未赋值为true
            if (StringUtils.containsUpperCase(this.name)) {
                this.convert = true;
            }
        } else if (!this.name.equals(this.propertyName)) {
            this.convert = true;
        }

    }

springboot启动报错java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession

2018-09-10 17:14:25.974 ERROR 20024 --- [ main] o.s.boot.SpringApplication : Application run failed

java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession
at org.mybatis.spring.mapper.ClassPathMapperScanner.(ClassPathMapperScanner.java:72) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.mybatis.spring.annotation.MapperScannerRegistrar.registerBeanDefinitions(MapperScannerRegistrar.java:59) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:358) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:676) ~[na:1.8.0_60]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:357) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:145) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:328) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:271) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:91) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:398) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:330) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:139) [spring-boot-test-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44) [spring-boot-test-autoconfigure-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413) [surefire-booter-2.21.0.jar:2.21.0]
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_60]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_60]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_60]
... 47 common frames omitted

2018-09-10 17:14:25.978 INFO 20024 --- [ main] s.c.a.AnnotationConfigApplicationContext : Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@76b07f29: startup date [Mon Sep 10 17:14:25 CST 2018]; root of context hierarchy
2018-09-10 17:14:25.982 ERROR 20024 --- [ main] o.s.test.context.TestContextManager : Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@229f66ed] to prepare test instance [com.baomidou.mybatisplus.samples.quickstart.SampleTest@fa4c865]

java.lang.NoClassDefFoundError: org/apache/ibatis/session/SqlSession
at org.mybatis.spring.mapper.ClassPathMapperScanner.(ClassPathMapperScanner.java:72) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.mybatis.spring.annotation.MapperScannerRegistrar.registerBeanDefinitions(MapperScannerRegistrar.java:59) ~[mybatis-spring-1.3.2.jar:1.3.2]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:358) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:676) ~[na:1.8.0_60]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:357) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:145) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:328) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:233) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:271) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:91) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532) ~[spring-context-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:762) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:398) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:330) ~[spring-boot-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:139) ~[spring-boot-test-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:117) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:108) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener.prepareTestInstance(SpringBootDependencyInjectionTestExecutionListener.java:44) ~[spring-boot-test-autoconfigure-2.0.4.RELEASE.jar:2.0.4.RELEASE]
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:246) ~[spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:227) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:289) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:291) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:246) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) [junit-4.12.jar:4.12]
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.junit.runners.ParentRunner.run(ParentRunner.java:363) [junit-4.12.jar:4.12]
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190) [spring-test-5.0.8.RELEASE.jar:5.0.8.RELEASE]
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) [surefire-junit4-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125) [surefire-booter-2.21.0.jar:2.21.0]
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413) [surefire-booter-2.21.0.jar:2.21.0]
Caused by: java.lang.ClassNotFoundException: org.apache.ibatis.session.SqlSession
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_60]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_60]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_60]
... 47 common frames omitted

DM数据库测试未通过

测试步骤如下:
运行mysqlgenerator类main 方法
输入模块名
输入表名

结果:
报有歧义的列名[TABLE_NAME]错误。

Cannot load driver class: com.h2.Driver

导入samples项目到eclipse,编译无错,运行mybatis-plus-sample-pagination,一直会有异常:
Caused by: java.lang.IllegalStateException: Cannot load driver class: com.h2.Driver at org.springframework.util.Assert.state(Assert.java:94) ~[spring-core-5.1.2.RELEASE.jar:5.1.2.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:224) ~[spring-boot-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:176) ~[spring-boot-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:43) ~[spring-boot-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:83) ~[spring-boot-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_171] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_171] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_171] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_171] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.2.RELEASE.jar:5.1.2.RELEASE] ... 44 common frames omitted

但是查看maven依赖中已经引入h2-1.4.197.jar

rabbit事务消息演示有误

mybatis-plus-sample-dts-rabbit这部分代码中,
send-receive-error 这个接口,并没有实现消费者消费异常之后,消息进入到死信队列中。
RabbitRmtListener这里消费的时候,对异常应该抛出才会进入到死信队列

mapping.xml

您好:
有个问题请教一下 这个项目中不用写xml文件吗 我使用的mysql数据库 不写xml 报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.demo.mapper.UserMapper.selectById

快速开始例子运行执行 sql 报语法错误

  • 问题
org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: org.h2.jdbc.JdbcSQLSyntaxErrorException: Syntax error in SQL statement "SELECT  id,name,age,email  FROM [*]user"; expected "identifier"; SQL statement:
SELECT  id,name,age,email  FROM user [42001-214]
  • 环境

    • springboot 2.7.1
    • 其他使用官方例子的版本依赖
  • 暂时解决

    • 将 springboot 退回 2.6.7 版本即可正常使用例子,2.7.1 springboot 配置作了修改,希望官方可以修改例子或者说明支持的 springboot 版本

如何自定义生成主键啊?

3.正常配置GlobalConfiguration.keyGenerator
@bean
public GlobalConfiguration globalConfiguration() {
GlobalConfiguration conf = new GlobalConfiguration();
conf.setKeyGenerator(new OracleKeyGenerator());
return conf;
}
请问官网的这步骤在哪配置?, 这个GlobalConfiguration类找不到啊

这是我的依赖

com.baomidou mybatis-plus-boot-starter 3.0.6

TestTypeHandler 返回值没有被处理

com.baomidou.mybatisplus.samples.deluxe.DeluxeTest
这个Test类里面的testInsert 方法里面
在selectById 时,取得的email的值是不是应该是TestTypeHandler 里面 get方法里面的放回值?

no-spring

hi 使用 nospring 的时候,很好,但是 只有mapper 的设置,一般来说,我们的.xml 文件,关联mapper 这个步骤怎么使用的,直接执行sql的步骤该怎么使用呢 类似@Sql

com.baomidou.mybatisplus.samples.generator 注释是undefined

com.baomidou.mybatisplus.samples.generator.MysqlGenerator 生成的类, 注释是undefined

/**
 * <p>
 * undefined
 * </p>
 *
 * @author toryzhou
 * @since 2019-04-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class User extends BaseEntity {

}

typehandler的使用

image
image
image
在我的TableName和TableField注解中,autoResultMap和typeHandler都是报错的,这是为什么呢,mybatisplus版本为3.1.0,在springboot项目中

TenantLineInnerInterceptor使用报异常

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: net.sf.jsqlparser.statement.select.PlainSelect.getGroupByColumnReferences()Ljava/util/List;
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.github.xiaoymin.knife4j.spring.filter.ProductionSecurityFilter.doFilter(ProductionSecurityFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

同时存在: LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ItmsTaskInfo::getExceptionStatus, ExceptionStatusEnum.EXCEPTION.getCode())
.set(ItmsTaskInfo::getModifiedBy,currUserName)
.set(ItmsTaskInfo::getGmtModified,utc8Date)
.eq(ItmsTaskInfo::getId, itmsTaskInfo.getId());
this.baseMapper.update(null, updateWrapper);

2种都满足如何接,现在情况是满足一个另外一个就报错

query

晴雯你的接口不写方法,而是继承,呐个父接口在哪里?写出来的东西最起码可以对别人有点用,别人才会感谢你。

分页不正确吧


 currentpage = 1;
 limit = 5;
 IPage<Category> page = categoryService.page(
                new Page<>(currentpage,limit),
                new QueryWrapper<>()

        );

        return R.ok().put("page", page);

得出来的结果却是这个样子如果是这样我就用list了


{
  "msg": "操作成功",
  "code": 0,
  "page": {
    "current": 1,
    "pages": 0,
    "records": [
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/92357337378cce650797444bc107b0f7.jpg",
        "frontDesc": "回家,放松身心",
        "frontName": "回家,放松身心",
        "iconUrl": "http://yanxuan.nosdn.127.net/a45c2c262a476fea0b9fc684fed91ef5.png",
        "id": 1,
        "imgUrl": "//nos.netease.com/yanxuan/f0d0e1a542e2095861b42bf789d948ce.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "居家",
        "parentId": 0,
        "showIndex": 1,
        "sortOrder": 2,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/e8bf0cf08cf7eda21606ab191762e35c.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/f4ff8b3d5b0767d4e578575c1fd6b921.jpg",
        "frontDesc": "厨房",
        "frontName": "爱,囿于厨房",
        "iconUrl": "http://yanxuan.nosdn.127.net/ad8b00d084cb7d0958998edb5fee9c0a.png",
        "id": 2,
        "imgUrl": "//nos.netease.com/yanxuan/88855173a0cfcfd889ee6394a3259c4f.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "餐厨",
        "parentId": 0,
        "showIndex": 2,
        "sortOrder": 3,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/3708dbcb35ad5abf9e001500f73db615.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/dd6cc8a7e996936768db5634f12447ed.jpg",
        "frontDesc": "好吃,高颜值美食",
        "frontName": "好吃,高颜值美食",
        "iconUrl": "http://yanxuan.nosdn.127.net/c9280327a3fd2374c000f6bf52dff6eb.png",
        "id": 3,
        "imgUrl": "//nos.netease.com/yanxuan/9a29ef4f41c305a12e1459f12abd290f.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "饮食",
        "parentId": 0,
        "showIndex": 8,
        "sortOrder": 9,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/fb670ff3511182833e5b035275e4ac09.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/cad5aba2bc52d3b8adfd0232c9814de2.jpg",
        "frontDesc": "配角,亦是主角",
        "frontName": "配角,亦是主角",
        "iconUrl": "http://yanxuan.nosdn.127.net/11abb11c4cfdee59abfb6d16caca4c6a.png",
        "id": 4,
        "imgUrl": "//nos.netease.com/yanxuan/935f1ab7dcfeb4bbd4a5da9935161aaf.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "配件",
        "parentId": 0,
        "showIndex": 3,
        "sortOrder": 4,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/02f9a44d05c05c0dd439a5eb674570a2.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/003e1d1289f4f290506ac2aedbd09d35.jpg",
        "frontDesc": "贴身的,要亲肤",
        "frontName": "贴身的,要亲肤",
        "iconUrl": "http://yanxuan.nosdn.127.net/28a685c96f91584e7e4876f1397767db.png",
        "id": 5,
        "imgUrl": "//nos.netease.com/yanxuan/135113d6a43536b717063413fa24d69a.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "服装",
        "parentId": 0,
        "showIndex": 4,
        "sortOrder": 5,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/622c8d79292154017b0cbda97588a0d7.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/7dc78383e44df530f543659a977740de.jpg",
        "frontDesc": "爱,从心开始",
        "frontName": "爱,从心开始",
        "iconUrl": "http://yanxuan.nosdn.127.net/1ba9967b8de1ac50fad21774a4494f5d.png",
        "id": 6,
        "imgUrl": "//nos.netease.com/yanxuan/8ab3c73fe90951a942e8b06d848f8743.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "婴童",
        "parentId": 0,
        "showIndex": 6,
        "sortOrder": 7,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/9cc0b3e0d5a4f4a22134c170f10b70f2.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/d233a1a9060a22e8eb0e2b326252eece.jpg",
        "frontDesc": "解忧,每个烦恼",
        "frontName": "解忧,每个烦恼",
        "iconUrl": "http://yanxuan.nosdn.127.net/c2a3d6349e72c35931fe3b5bcd0966be.png",
        "id": 7,
        "imgUrl": "//nos.netease.com/yanxuan/a0c91ae573079830743dec6ee08f5841.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "杂货",
        "parentId": 0,
        "showIndex": 7,
        "sortOrder": 8,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/547853361d29a37282f377b9a755dd37.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/ef8c49f8c92d1f86eb76dec0b5bc7cef.jpg",
        "frontDesc": "亲肤之物,严选天然",
        "frontName": "亲肤之物,严选天然",
        "iconUrl": "http://yanxuan.nosdn.127.net/9fe068776b6b1fca13053d68e9c0a83f.png",
        "id": 8,
        "imgUrl": "//nos.netease.com/yanxuan/14bb4a29498a0f93a1ea001f26fea1dd.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "洗护",
        "parentId": 0,
        "showIndex": 5,
        "sortOrder": 6,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/1526ab0f5982722adbc8726f9f2a338c.png"
      },
      {
        "bannerUrl": "http://yanxuan.nosdn.127.net/99107fbd76eb66cd537213e478189ae1.png",
        "frontDesc": "爱好,点缀生活",
        "frontName": "周边精品,共享热爱",
        "iconUrl": "http://yanxuan.nosdn.127.net/7093cfecb9dde1dd3eaf459623df4071.png",
        "id": 9,
        "imgUrl": "//nos.netease.com/yanxuan/72de912b6350b33ecf88a27498840e62.jpg",
        "isShow": 1,
        "keywords": "",
        "level": "L1",
        "name": "志趣",
        "parentId": 0,
        "showIndex": 9,
        "sortOrder": 10,
        "type": 0,
        "wapBannerUrl": "http://yanxuan.nosdn.127.net/1706e24a5e605870ba3b37ff5f49aa18.png"
      }
    ],
    "size": 5,
    "total": 0
  }
}

rabbit事务消息演示有误

mybatis-plus-sample-dts-rabbit这部分代码中,
send-receive-error 这个接口,并没有实现消费者消费异常之后,消息进入到死信队列中。
RabbitRmtListener这里消费的时候,对异常应该抛出才会进入到死信队列

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.