• 使用mybatis插件自动生成代码以及问题处理


    1.pom.xml中加入依赖插件

     1         <!-- mybatis generator 自动生成代码插件 -->
     2             <plugin>
     3                 <groupId>org.mybatis.generator</groupId>
     4                 <artifactId>mybatis-generator-maven-plugin</artifactId>
     5                 <version>1.3.2</version>
     6                 <configuration>
     7                     <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
     8                     <overwrite>true</overwrite>
     9                     <verbose>true</verbose>
    10                 </configuration>
    11             </plugin>

    2. 在项目${basedir}/src/main/resources/generator/目录下新建generatorConfig.xml文件,内容如下:

    generatorConfig.xml
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE generatorConfiguration
     3         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
     4         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
     5 <generatorConfiguration>
     6     <!-- 数据库驱动:选择本地硬盘上面的数据库驱动包-->
     7     <classPathEntry  location="E:mvn
    epositorymysql5.1.2libmysql-connector-java-5.1.25.jar"/>
     8     <context id="DB2Tables"  targetRuntime="MyBatis">
     9         <commentGenerator>
    10             <property name="suppressDate" value="true"/>
    11             <!-- 是否去除自动生成的注释 true:是;false:否 -->
    12             <property name="suppressAllComments" value="false"/>
    13         </commentGenerator>
    14         <!--数据库链接URL,用户名、密码 -->
    15         <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/orcl" userId="root" password="root">
    16         </jdbcConnection>
    17         <javaTypeResolver>
    18             <property name="forceBigDecimals" value="false"/>
    19         </javaTypeResolver>
    20         <!-- 生成模型的包名和位置-->
    21         <javaModelGenerator targetPackage="main.java.com.coderzz.model" targetProject="src">
    22             <property name="enableSubPackages" value="true"/>
    23             <property name="trimStrings" value="true"/>
    24         </javaModelGenerator>
    25         <!-- 生成映射文件的包名和位置-->
    26         <sqlMapGenerator targetPackage="main.resources.com.coderzz.mapping" targetProject="src">
    27             <property name="enableSubPackages" value="true"/>
    28         </sqlMapGenerator>
    29         <!-- 生成DAO的包名和位置-->
    30         <javaClientGenerator type="XMLMAPPER" targetPackage="main.java.com.coderzz.mapper" targetProject="src">
    31             <property name="enableSubPackages" value="true"/>
    32         </javaClientGenerator>
    33         <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
    34         <table tableName="person" domainObjectName="Person" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">            </table>
    35     </context>
    36 </generatorConfiguration>

    3. 点击Run->Edit Configurations

    Edit Configurations

    4. 新建Maven配置

    RUN Configurations

    5. 运行

    RUN

    结果提示以下错误,根据错误来看,提示No plugin found for prefix 'mybatis-generator' in the current project,说明插件不存在,检查本地maven仓库发现,该插件已正常存在,寻找其它解决方法。

    C:javajdk1.8.0_112injava -Dmaven.multiModuleProjectDirectory=E:Projectswar-fx-mock--bak "-Dmaven.home=D:Program Filesapache-maven-3.3.9" "-Dclassworlds.conf=D:Program Filesapache-maven-3.3.9inm2.conf" -Didea.launcher.port=7536 "-Didea.launcher.bin.path=D:Program FilesIntelliJIDEAin" -Dfile.encoding=UTF-8 -classpath "D:Program Filesapache-maven-3.3.9ootplexus-classworlds-2.5.2.jar;D:Program FilesIntelliJIDEAlibidea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.2.5 -s "D:Program Filesapache-maven-3.3.9confsettings-nexus3_5_2.xml" -Dmaven.repo.local=E:mvn
    epository mybatis-generator:generate -e
    [INFO] Error stacktraces are turned on.
    [WARNING] 
    [WARNING] Some problems were encountered while building the effective settings
    [WARNING] Unrecognised tag: 'pluginRepositories' (position: START_TAG seen ...</servers>  
    
         <pluginRepositories>... @33:26)  @ D:Program Filesapache-maven-3.3.9confsettings-nexus3_5_2.xml, line 33, column 26
    [WARNING] 
    [INFO] Scanning for projects...
    [WARNING] 
    [WARNING] Some problems were encountered while building the effective model for com.mobanker.mock:mock-service:war:1.0.0-SNAPSHOT
    [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework.boot:spring-boot-starter-web:jar -> duplicate declaration of version (?) @ com.mobanker.mock:mock-service:[unknown-version], E:Projectswar-fx-mock--bakmock-servicepom.xml, line 81, column 21
    [WARNING] 
    [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
    [WARNING] 
    [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
    [WARNING] 
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Build Order:
    [INFO] 
    [INFO] fx-mock
    [INFO] mock-common
    [INFO] mock-core
    [INFO] mock-service
    Downloading: http://test.nexus.ql.corp/repository/public/org/codehaus/mojo/maven-metadata.xml
    Downloading: http://test.nexus.ql.corp/repository/public/org/apache/maven/plugins/maven-metadata.xml
    Downloaded: http://test.nexus.ql.corp/repository/public/org/codehaus/mojo/maven-metadata.xml (22 KB at 80.7 KB/sec)
    Downloaded: http://test.nexus.ql.corp/repository/public/org/apache/maven/plugins/maven-metadata.xml (14 KB at 49.4 KB/sec)
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] fx-mock ............................................ SKIPPED
    [INFO] mock-common ........................................ SKIPPED
    [INFO] mock-core .......................................... SKIPPED
    [INFO] mock-service ....................................... SKIPPED
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2.617 s
    [INFO] Finished at: 2018-02-08T16:21:02+08:00
    [INFO] Final Memory: 23M/230M
    [INFO] ------------------------------------------------------------------------
    [ERROR] No plugin found for prefix 'mybatis-generator' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (E:mvn
    epository), central (http://test.nexus.ql.corp/repository/public/)] -> [Help 1]
    org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException: No plugin found for prefix 'mybatis-generator' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (E:mvn
    epository), central (http://test.nexus.ql.corp/repository/public/)]
        at org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver.resolve(DefaultPluginPrefixResolver.java:93)
        at org.apache.maven.lifecycle.internal.MojoDescriptorCreator.findPluginForPrefix(MojoDescriptorCreator.java:265)
        at org.apache.maven.lifecycle.internal.MojoDescriptorCreator.getMojoDescriptor(MojoDescriptorCreator.java:219)
        at org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegments(DefaultLifecycleTaskSegmentCalculator.java:103)
        at org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator.calculateTaskSegments(DefaultLifecycleTaskSegmentCalculator.java:83)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:89)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
        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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
        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 com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
    [ERROR] 
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR] 
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/NoPluginFoundForPrefixException
    
    Process finished with exit code 1
    Error Info

    6. 点击Maven Projects->Plugins,发现已经存在mybatis-generator插件,右键点击该插件,选择运行Run Maven Build,执行成功,代码自动生成:

     
     1 C:javajdk1.8.0_112injava -Dmaven.multiModuleProjectDirectory=E:Projectswar-fx-mockmock-service "-Dmaven.home=D:Program Filesapache-maven-3.3.9" "-Dclassworlds.conf=D:Program Filesapache-maven-3.3.9inm2.conf" -Didea.launcher.port=7537 "-Didea.launcher.bin.path=D:Program FilesIntelliJIDEAin" -Dfile.encoding=UTF-8 -classpath "D:Program Filesapache-maven-3.3.9ootplexus-classworlds-2.5.2.jar;D:Program FilesIntelliJIDEAlibidea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=2016.2.5 -s "D:Program Filesapache-maven-3.3.9confsettings-nexus3_5_2.xml" -Dmaven.repo.local=E:mvn
    epository org.mybatis.generator:mybatis-generator-maven-plugin:1.3.2:generate
     2 [WARNING] 
     3 [WARNING] Some problems were encountered while building the effective settings
     4 [WARNING] Unrecognised tag: 'pluginRepositories' (position: START_TAG seen ...</servers>  
    
         <pluginRepositories>... @33:26)  @ D:Program Filesapache-maven-3.3.9confsettings-nexus3_5_2.xml, line 33, column 26
     5 [WARNING] 
     6 [INFO] Scanning for projects...
     7 [WARNING] 
     8 [WARNING] Some problems were encountered while building the effective model for com.mobanker.mock:mock-service:war:1.0.0-SNAPSHOT
     9 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.springframework.boot:spring-boot-starter-web:jar -> duplicate declaration of version (?) @ com.mobanker.mock:mock-service:[unknown-version], E:Projectswar-fx-mockmock-servicepom.xml, line 81, column 21
    10 [WARNING] 
    11 [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
    12 [WARNING] 
    13 [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
    14 [WARNING] 
    15 [INFO]                                                                         
    16 [INFO] ------------------------------------------------------------------------
    17 [INFO] Building mock-service 1.0.0-SNAPSHOT
    18 [INFO] ------------------------------------------------------------------------
    19 [INFO] 
    20 [INFO] --- mybatis-generator-maven-plugin:1.3.2:generate (default-cli) @ mock-service ---
    21 [INFO] Connecting to the Database
    22 Thu Feb 08 16:21:50 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
    23 log4j:WARN No appenders could be found for logger (org.mybatis.generator.internal.db.DatabaseIntrospector).
    24 log4j:WARN Please initialize the log4j system properly.
    25 log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    26 [INFO] Introspecting table person
    27 [INFO] Generating Record class for table person
    28 [INFO] Generating Mapper Interface for table person
    29 [INFO] Generating SQL Map for table person
    30 [INFO] Saving file PersonMapper.xml
    31 [INFO] Saving file Person.java
    32 [INFO] Saving file PersonMapper.java
    33 [INFO] ------------------------------------------------------------------------
    34 [INFO] BUILD SUCCESS
    35 [INFO] ------------------------------------------------------------------------
    36 [INFO] Total time: 2.973 s
    37 [INFO] Finished at: 2018-02-08T16:21:51+08:00
    38 [INFO] Final Memory: 17M/171M
    39 [INFO] ------------------------------------------------------------------------
    40 
    41 Process finished with exit code 0

     

     
     
  • 相关阅读:
    关于粒子发射(CAEmitterLayer)
    自定义cell(xib)中button点击事件不能响应的情况
    xcode意外退出
    iOS开发技巧-2
    禁止UIWebView随键盘的弹起而往上滚动
    内联函数
    使用sudo apt-get出现无法解析域名的问题:“cn.archive.ubuntu.com”
    iOS进阶
    swift 中的defer
    iOS中static的作用
  • 原文地址:https://www.cnblogs.com/Java-Script/p/11089899.html
Copyright © 2020-2023  润新知