ishchenko / idea-mini-ibatis Goto Github PK
View Code? Open in Web Editor NEWIntelliJ IDEA iBatis/MyBatis plugin with basic features
IntelliJ IDEA iBatis/MyBatis plugin with basic features
Would be nice to have the sql tag id updated as well, if I refactor-rename a method in a java mapper interface.
(Or vice-versa: Let me refactor-rename in XML and rename the method and its usages accordingly.)
Looks like it was some bug in IDEA itself, won't reproduce nowadays
If a method in a mapper interface has no corresponding tag in the XML a warning would be very nice.
Same for a mybatis select/update/delete tag without a corresponding java mapper method declaration.
use the statement for 'orderInfo.select ' can't go to mapper.xml
and the 'orderInfo_select' is okใ
how to update this ?
I've migrated to IDEA 14.1.x and the plugin doesn't work anymore (both 14.1.1 and 14.1.2 which I've upgrated to today).
It has no effet at all on all my MyBatis packages (both java and xml mappers).
It used to work for the same project and same packages with IDEA 13.x and 14.0.x.
How do I use the plugin? I installed it, but see no navigation/options in Intellij 11. the documentation link provided does not work.
Thanks, Eric
I have enabled the plugin in idea 13.1. Should it work there? I am not seeing any special features nor do i encounter errors in the event log. Do i need to "enable" it in my project?
tx,.
Ctrl+Alt+Shift+N should find statements by name
This exception arise when I try to see the usages (ALT + F7) of a Spring Bean
Error during dispatching of java.awt.event.InvocationEvent[INVOCATION_DEFAULT,runnable=com.intellij.usages.impl.UsageViewImpl$4@34a771d8,notifier=null,catchExceptions=false,when=1375351296386] on apple.awt.CToolkit@665c4d90
java.lang.AssertionError
at net.ishchenko.idea.minibatis.IdentifiableStatementHierarchyProvider.getTarget(IdentifiableStatementHierarchyProvider.java:46)
at com.intellij.usageView.impl.UsageContextCallHierarchyPanel$Provider.isAvailableFor(UsageContextCallHierarchyPanel.java:67)
at com.intellij.usages.impl.UsageViewImpl$8.value(UsageViewImpl.java:291)
at com.intellij.usages.impl.UsageViewImpl$8.value(UsageViewImpl.java:288)
at com.intellij.util.containers.ContainerUtil.findAll(ContainerUtil.java:775)
at com.intellij.util.containers.ContainerUtil.filter(ContainerUtil.java:752)
at com.intellij.usages.impl.UsageViewImpl.setupCentralPanel(UsageViewImpl.java:288)
at com.intellij.usages.impl.UsageViewImpl.access$1100(UsageViewImpl.java:86)
at com.intellij.usages.impl.UsageViewImpl$4.run(UsageViewImpl.java:211)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:676)
at java.awt.EventQueue$2.run(EventQueue.java:674)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
at com.intellij.ide.IdeEventQueue.d(IdeEventQueue.java:700)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:525)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:348)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Intellij 12.1.2
org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.literals.GrLiteralImpl cannot be cast to com.intellij.psi.PsiLiteralExpression: org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.literals.GrLiteralImpl cannot be cast to com.intellij.psi.PsiLiteralExpression
java.lang.ClassCastException: org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.literals.GrLiteralImpl cannot be cast to com.intellij.psi.PsiLiteralExpression
at net.ishchenko.idea.minibatis.MyBatisReferenceContributor$1.getReferencesByElement(MyBatisReferenceContributor.java:22)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistryImpl.doGetReferencesFromProviders(ReferenceProvidersRegistryImpl.java:119)
at com.intellij.psi.impl.source.resolve.reference.ReferenceProvidersRegistry.getReferencesFromProviders(ReferenceProvidersRegistry.java:65)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.expressions.literals.GrLiteralImpl.getReferences(GrLiteralImpl.java:157)
at com.intellij.psi.PsiReferenceServiceImpl.getReferences(PsiReferenceServiceImpl.java:34)
at com.intellij.psi.search.SingleTargetRequestResultProcessor.processTextOccurrence(SingleTargetRequestResultProcessor.java:40)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$20.execute(PsiSearchHelperImpl.java:681)
at com.intellij.psi.impl.search.LowLevelSearchUtil.a(LowLevelSearchUtil.java:123)
at com.intellij.psi.impl.search.LowLevelSearchUtil.processElementsContainingWordInElement(LowLevelSearchUtil.java:171)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$5.process(PsiSearchHelperImpl.java:204)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$5.process(PsiSearchHelperImpl.java:201)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$7$2.run(PsiSearchHelperImpl.java:251)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:929)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$7.process(PsiSearchHelperImpl.java:238)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$7.process(PsiSearchHelperImpl.java:227)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:105)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgressAsync(JobLauncherImpl.java:131)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgressAsync(JobLauncherImpl.java:37)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.a(PsiSearchHelperImpl.java:227)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.a(PsiSearchHelperImpl.java:201)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.processElementsWithWordAsync(PsiSearchHelperImpl.java:138)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.c(PsiSearchHelperImpl.java:834)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.a(PsiSearchHelperImpl.java:602)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.access$400(PsiSearchHelperImpl.java:55)
at com.intellij.psi.impl.search.PsiSearchHelperImpl$17.body(PsiSearchHelperImpl.java:530)
at com.intellij.concurrency.DoWhile.getResult(DoWhile.java:32)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequestsAsync(PsiSearchHelperImpl.java:574)
at com.intellij.psi.impl.search.PsiSearchHelperImpl.processRequests(PsiSearchHelperImpl.java:510)
at com.intellij.psi.search.SearchRequestQuery.processResults(SearchRequestQuery.java:29)
at com.intellij.util.AbstractQuery.forEach(AbstractQuery.java:77)
at com.intellij.util.MergeQuery.processSubQuery(MergeQuery.java:83)
at com.intellij.util.MergeQuery.forEach(MergeQuery.java:56)
at com.intellij.util.MergeQuery.findFirst(MergeQuery.java:50)
at com.intellij.util.UniqueResultsQuery.findFirst(UniqueResultsQuery.java:51)
at org.jetbrains.plugins.groovy.codeInspection.unusedDef.UnusedDefInspection$3.visitVariable(UnusedDefInspection.java:144)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitParameter(GroovyElementVisitor.java:336)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.params.GrParameterImpl.accept(GrParameterImpl.java:70)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementImpl.acceptGroovyChildren(GroovyPsiElementImpl.java:75)
at org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase.acceptChildren(GrStubElementBase.java:55)
at org.jetbrains.plugins.groovy.lang.psi.GroovyRecursiveElementVisitor.visitElement(GroovyRecursiveElementVisitor.java:24)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitParameterList(GroovyElementVisitor.java:332)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.params.GrParameterListImpl.accept(GrParameterListImpl.java:55)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementImpl.acceptGroovyChildren(GroovyPsiElementImpl.java:75)
at org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase.acceptChildren(GrStubElementBase.java:55)
at org.jetbrains.plugins.groovy.lang.psi.GroovyRecursiveElementVisitor.visitElement(GroovyRecursiveElementVisitor.java:24)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitMethod(GroovyElementVisitor.java:288)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.typedef.members.GrMethodBaseImpl.accept(GrMethodBaseImpl.java:104)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementImpl.acceptGroovyChildren(GroovyPsiElementImpl.java:75)
at org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase.acceptChildren(GrStubElementBase.java:55)
at org.jetbrains.plugins.groovy.lang.psi.GroovyRecursiveElementVisitor.visitElement(GroovyRecursiveElementVisitor.java:24)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitTypeDefinitionBody(GroovyElementVisitor.java:344)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.typedef.GrTypeDefinitionBodyBase$GrClassBody.accept(GrTypeDefinitionBodyBase.java:171)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyPsiElementImpl.acceptGroovyChildren(GroovyPsiElementImpl.java:75)
at org.jetbrains.plugins.groovy.lang.psi.impl.GrStubElementBase.acceptChildren(GrStubElementBase.java:55)
at org.jetbrains.plugins.groovy.lang.psi.GroovyRecursiveElementVisitor.visitElement(GroovyRecursiveElementVisitor.java:24)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitTypeDefinition(GroovyElementVisitor.java:260)
at org.jetbrains.plugins.groovy.lang.psi.impl.statements.typedef.GrTypeDefinitionImpl.accept(GrTypeDefinitionImpl.java:117)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFileBaseImpl.acceptChildren(GroovyFileBaseImpl.java:225)
at org.jetbrains.plugins.groovy.lang.psi.GroovyRecursiveElementVisitor.visitElement(GroovyRecursiveElementVisitor.java:24)
at org.jetbrains.plugins.groovy.lang.psi.GroovyElementVisitor.visitFile(GroovyElementVisitor.java:64)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFileBaseImpl.accept(GroovyFileBaseImpl.java:218)
at org.jetbrains.plugins.groovy.codeInspection.unusedDef.UnusedDefInspection.check(UnusedDefInspection.java:139)
at org.jetbrains.plugins.groovy.codeInspection.GroovyLocalInspectionBase$1.visitFile(GroovyLocalInspectionBase.java:56)
at org.jetbrains.plugins.groovy.lang.psi.impl.GroovyFileBaseImpl.accept(GroovyFileBaseImpl.java:218)
at org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementVisitor.visitElement(GroovyPsiElementVisitor.java:33)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:32)
at com.intellij.extapi.psi.PsiFileBase.accept(PsiFileBase.java:70)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:412)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$300(LocalInspectionsPass.java:78)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:388)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$4.process(LocalInspectionsPass.java:382)
at com.intellij.concurrency.JobLauncherImpl$2$1.run(JobLauncherImpl.java:115)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
at com.intellij.concurrency.JobLauncherImpl$2.process(JobLauncherImpl.java:113)
at com.intellij.concurrency.JobLauncherImpl$1.run(JobLauncherImpl.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1182)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:97)
at com.intellij.concurrency.JobImpl.scheduleAndWaitForResults(JobImpl.java:136)
at com.intellij.concurrency.JobLauncherImpl.a(JobLauncherImpl.java:68)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:110)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:398)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:220)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:136)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:62)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1182)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:226)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:345)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:321)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:145)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:142)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
It's great that I can easily navigate from a mapper interface method to the corresponding statement in my mapper's xml file.
However currently that's a one-way street.
Please provide an "up" button in the gutter in the xml file that let's me navigate back to the java method declaration.
Would be really cool if I could write smth like:
<resultMap id="x" type="com.example.x">
</resultMap>
click Alt-Ins, select "results based on type"
and resultMap
would get filled like
<resultMap id="x" type="com.example.x">
<result property="prop1" column=""/>
<result property="prop2" column=""/>
<result property="prop3" column=""/>
</resultMap>
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.