按照网上的步骤使用maven配置生成mybatis代码就是行,没有报错也没有执行.
步骤是这样的:
1.在pom.xml配置
<build>
<finalName>byh</finalName>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- MyBatis Generator -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<!-- 打印执行过程 -->
<verbose>true</verbose>
<!-- 允许覆盖生成的文件 -->
<overwrite>true</overwrite>
<!-- 配置文件路径 -->
<configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile>
<!-- 生成部分mapper,指定table名字 -->
<tableNames>
<!--
b_article,
b_byzone,
b_collection,
b_comment,
b_contacts,
b_enterprise,
b_feedback,
b_honor,
b_opportunity,
b_photo,
b_user_attach_info,
b_vip_approval,
d_dictionary,
s_resource,
s_role,
s_role_resource,
s_user_role,
sb_user,
b_byzone
b_activity
-->
b_entertainment
</tableNames>
</configuration>
<dependencies>
<!-- generator -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>cc.pengar.mybitis</groupId>
<artifactId>generator</artifactId>
<version>1.3.7</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>4.0.2</version>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>8</source>
<target>8</target>
</configuration>
</plugin>
</plugins>
</build>
2:在generatorConfig.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- 配置生成器 -->
<generatorConfiguration>
<context id="mysql" defaultModelType="hierarchical" targetRuntime="cc.pengar.mybitis.generator.MyTkMyBatis3SimpleImpl" >
<!--
自动识别数据库关键字,默认false,如果设置为true,根据SqlReservedWords中定义的关键字列表;
一般保留默认值,遇到数据库关键字(Java关键字),使用columnOverride覆盖
-->
<property name="autoDelimitKeywords" value="false"/>
<!-- 生成的Java文件的编码 -->
<property name="javaFileEncoding" value="UTF-8"/>
<!-- 格式化java代码 -->
<property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
<!-- 格式化XML代码 -->
<property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>
<!-- beginningDelimiter和endingDelimiter:指明数据库的用于标记数据库对象名的符号,比如ORACLE就是双引号,MYSQL默认是`反引号; -->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<plugin type="cc.pengar.mybitis.generator.expand.MyMapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<property name="caseSensitive" value="true"/>
<property name="configurationType" value="cc.pengar.mybitis.generator.expand.internal.ChineseCommentGenerator"/>
</plugin>
<!--
必须要有的,使用这个配置链接数据库
@TODO:是否可以扩展
-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://192.168.1.82:3306/byh_test?serverTimezone=UTC&useSSL=false"
userId="root" password="admin">
<!-- 这里面可以设置property属性,每一个property属性都设置到配置的Driver上 -->
</jdbcConnection>
<!--
java类型处理器
用于处理DB中的类型到Java中的类型,默认使用JavaTypeResolverDefaultImpl;
注意一点,默认会先尝试使用Integer,Long,Short等来对应DECIMAL和 NUMERIC数据类型;
-->
<javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!--
java模型创建器,是必须要的元素
负责:1,key类(见context的defaultModelType);2,java类;3,查询类
targetPackage:生成的类要放的包,真实的包受enableSubPackages属性控制;
targetProject:目标项目,指定一个存在的目录下,生成的内容会放到指定目录中,如果目录不存在,MBG不会自动建目录
-->
<javaModelGenerator targetPackage="com.byh.entity" targetProject="src/main/java">
<property name="constructorBased" value="false"/>
<property name="enableSubPackages" value="true"/>
<property name="immutable" value="false"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!--
生成SQL map的XML文件生成器,
注意,在Mybatis3之后,我们可以使用mapper.xml文件+Mapper接口(或者不用mapper接口),
或者只使用Mapper接口+Annotation,所以,如果 javaClientGenerator配置中配置了需要生成XML的话,这个元素就必须配置
targetPackage/targetProject:同javaModelGenerator
-->
<sqlMapGenerator targetPackage="com.byh.mapper" targetProject="src/main/resources">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!--
对于mybatis来说,即生成Mapper接口,注意,如果没有配置该元素,那么默认不会生成Mapper接口
targetPackage/targetProject:同javaModelGenerator
type:选择怎么生成mapper接口(在MyBatis3/MyBatis3Simple下):
1,ANNOTATEDMAPPER:会生成使用Mapper接口+Annotation的方式创建(SQL生成在annotation中),不会生成对应的XML;
2,MIXEDMAPPER:使用混合配置,会生成Mapper接口,并适当添加合适的Annotation,但是XML会生成在XML中;
3,XMLMAPPER:会生成Mapper接口,接口完全依赖XML;
注意,如果context是MyBatis3Simple:只支持ANNOTATEDMAPPER和XMLMAPPER
-->
<javaClientGenerator targetPackage="com.byh.dao" type="XMLMAPPER" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 配置表信息,不生成帮助类examples-->
<!--
<table tableName="b_article" mapperName="ArticleDao" domainObjectName="Article"/>
<table tableName="b_byzone" mapperName="ByZoneDao" domainObjectName="ByZone"/>
<table tableName="b_technology" mapperName="TechnologyDao" domainObjectName="Technology"/>
<table tableName="b_collection" mapperName="CollectionDao" domainObjectName="Collection"/>
<table tableName="b_comment" mapperName="CommentDao" domainObjectName="Comment"/>
<table tableName="b_enterprise" mapperName="EnterpriseDao" domainObjectName="Enterprise"/>
<table tableName="b_feedback" mapperName="FeedbackDao" domainObjectName="Feedback"/>
<table tableName="b_honor" mapperName="HonorDao" domainObjectName="Honor"/>
<table tableName="b_opportunity" mapperName="OpportunityDao" domainObjectName="Opportunity"/>
<table tableName="b_photo" mapperName="PhotoDao" domainObjectName="Photo"/>
<table tableName="b_user_attach_info" mapperName="UserAttachInfoDao" domainObjectName="UserAttachInfo"/>
<table tableName="b_vip_order" mapperName="VipOrderDao" domainObjectName="VipOrder"/>
<table tableName="d_dictionary" mapperName="DictionaryDao" domainObjectName="Dictionary"/>
<table tableName="d_area" mapperName="AreaDao" domainObjectName="Area"/>
<table tableName="s_resource" mapperName="ResourceDao" domainObjectName="Resource"/>
<table tableName="s_role" mapperName="RoleDao" domainObjectName="Role"/>
<table tableName="s_role_resource" mapperName="RoleResourceDao" domainObjectName="RoleResource"/>
<table tableName="s_user_role" mapperName="UserRoleDao" domainObjectName="UserRole"/>
<table tableName="sb_user" mapperName="UserDao" domainObjectName="User"/>
<table tableName="b_activity" mapperName="ActivityDao" domainObjectName="Activity"/>
-->
<table tableName="b_entertainment" mapperName="EntertainmentDao" domainObjectName="Entertainment"/>
</context>
</generatorConfiguration>
一切准备就绪后运行...
右键项目-->Run As-->run configurations
-->点击Run运行,发现控制台空空如也,也不报错.郁闷中...
最后尝试用命令行执行,发现居然可以了
打开cmd命令窗口
-->进入项目位置(cd 即可自行百度)
-->运行如下命令:mvn mybatis-generator:generate
-->完事了,刷新项目即可
如下图: