baomidou / mybatis-plus-samples Goto Github PK
View Code? Open in Web Editor NEWMyBatis-Plus Samples
Home Page: https://baomidou.com
License: Apache License 2.0
MyBatis-Plus Samples
Home Page: https://baomidou.com
License: Apache License 2.0
Hi team
i have requirement to write SQL like:
Select * from table_a where col1 IN (1,2,3) OR col2 IN ("x", "y", "z")
How to write this one with mybatis-plus?
晴雯你的接口不写方法,而是继承,呐个父接口在哪里?写出来的东西最起码可以对别人有点用,别人才会感谢你。
建议更新下官方文档和源码,最好注明目前推荐使用哪个依赖,不要即推荐mybatis-plus又介绍mybatis-plus-boot-starter,请标明目前支持的spring版本
数据库为达梦数据库,我在DataSourceConfig中设置了SchemaName后,发现生成的表映射实体中没有Schema属性,导致查询失败,必须手机把schema属性加上才可以,请问这种情况怎么解决?
SampleTest:
// 成功直接拿会写的 ID
应该是回写吧
执行DeluxeTest中的testInsert可以正常执行TestTypeHandler中的setNonNullParameter,但是执行DeluxeTest中的testPage时已经被加密的实体却不执行TestTypeHandler中的getNullableResult
I download the project,but has error.Means don't find the mybatis-plus-generator for 3.5.0-SNAPSHOT.
今天从2.x 升级到3.0.7后,报错
<!-- 列表分页查询 -->
<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>
/**
* 列表分页查询
* @param page
* @return
*/
List<Images> selectImagesList(Page<Images> page, Map paramMap);
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)
hi 使用 nospring 的时候,很好,但是 只有mapper 的设置,一般来说,我们的.xml 文件,关联mapper 这个步骤怎么使用的,直接执行sql的步骤该怎么使用呢 类似@Sql
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
当生成器在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;
}
}
mybatis-plus-sample-dts-rabbit这部分代码中,
send-receive-error 这个接口,并没有实现消费者消费异常之后,消息进入到死信队列中。
RabbitRmtListener这里消费的时候,对异常应该抛出才会进入到死信队列
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您好:
有个问题请教一下 这个项目中不用写xml文件吗 我使用的mysql数据库 不写xml 报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.demo.mapper.UserMapper.selectById
如题,在使用springBoot的时候,如何给getBaseMapper注入,现在的baseMapper是用了spring的autowire,spring注入失败了,有没有相关的samples
操作:通过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 {
}
测试步骤如下:
运行mysqlgenerator类main 方法
输入模块名
输入表名
结果:
报有歧义的列名[TABLE_NAME]错误。
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
}
}
导入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
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]
环境
暂时解决
没找到mybatis-plus-sample-multi-datasource这个多数据源
您好,
建议Sample能够按照Mybatis-Plus的版本来打tag,这样方便不同版本的用户能够直接找到适应版本的sample,以方便进行学习。
现在只能通过找Git History的方法来找到老版本的使用用法。但确实不太方便。
所以,考虑一下?
仅仅在ReflectionKit中有用到, 感觉不是很有必要, 也和package-info的说明相违背.
是否可以考虑移除掉呢? 单纯因为这个而引入spring不是很有必要( 尤其在本身没有用到spring的项目中而言
报Cannot resolve com.baomidou:mybatis-plus-boot-starter:3.3.1.7-SNAPSHOT
test里面怎么都报错,实体都不完整呢
比如:mybatis-plus-sample-multi-datasource
不通过自己写sql,如何查询单表部分字段
多数据源示例没有看到代码?
修改了下面的路径后
// gc.setOutputDir(projectPath + "/mybatis-plus-sample-generator/src/main/java");
生成的实体类报错
import com.baomidou.mybatisplus.samples.generator.common.BaseController;
这个包丢失
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,一般可以怎么调整代码结构解除循环引用?
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 {
}
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
我已经不清楚现在到底用那个版本了,那个版本更新下来都是好多错
在mybatis-plus-sample-generator中的包路径,没有引入sample, 是不是忘了?
mybatis-plus-sample-dts-rabbit这部分代码中,
send-receive-error 这个接口,并没有实现消费者消费异常之后,消息进入到死信队列中。
RabbitRmtListener这里消费的时候,对异常应该抛出才会进入到死信队列
mybatis-plus-sample-multi-datasource: 多数据源示例
成为代码贡献者有哪些要求
为什么不用RocketMQ呢
com.baomidou.mybatisplus.samples.deluxe.DeluxeTest
这个Test类里面的testInsert 方法里面
在selectById 时,取得的email的值是不是应该是TestTypeHandler 里面 get方法里面的放回值?
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种都满足如何接,现在情况是满足一个另外一个就报错
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.