本来打算安装的是mybatis plugin最新版本(4.0.4)
但是安装下来发现lib目录中少mybatis_plugin.jar包
只有手动安装了这里安装的是2.9.2版本使用了一下不受影响
破解文件地址 提取码:jbvu
file-->setting-->plugin
安装完插件IDEA就会提示你重启IDEA
重启完毕咱们就来开始mybatis的逆向工程了:
创建generatorConfig.xml
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> <!--数据库的配置文件--> <!--<properties resource="db.properties"></properties>--> <!-- !!!! Driver Class Path !!!! --> <!-- classPathEntry:数据库的JDBC驱动的jar包地址--> <classPathEntry location="D:\apache-maven-3.5.4\conf\repository\mysql\mysql-connector-java\5.1.35\mysql-connector-java-5.1.35.jar"/> <!-- defaultModelType:**这个属性很重要**,这个属性定义了MBG如何生成**实体类**。这个属性有以下可选值: conditional:*这是默认值*,这个模型和下面的hierarchical类似,除了如果那个单独的类将只包含一个字段, 将不会生成一个单独的类。 因此,如果一个表的主键只有一个字段,那么不会为该字段生成单独的实体类, 会将该字段合并到基本实体类中。flat:该模型为每一张表只生成一个实体类。这个实体类包含表中的所有字段。 **这种模型最简单,推荐使用。**hierarchical:如果表有主键,那么该模型会产生一个单独的主键实体类, 如果表还有BLOB字段, 则会为表生成一个包含所有BLOB字段的单独的实体类,然后为所有其他的字段生成一个 单独的实体类。 MBG会在所有生成的实体类之间维护一个继承关系。 --> <!--如果你希望不生成和Example查询有关的内容,那么可以按照如下进行配置: targetRuntime="MyBatis3Simple"--> <context id="context" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <commentGenerator> <!--是否去除生成的自动注解(英文的) true是去除 false 不去除--> <property name="suppressAllComments" value="true"/> <!-- 是否去除自动生成的日期 true:是 : false:否 --> <property name="suppressDate" value="true"/> </commentGenerator> <!-- !!!! Database Configurations !!!! --> <!--数据库的连接信息--> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root" password="xxxxxxxx"/> <!-- true:使用BigDecimal对应DECIMAL和 NUMERIC数据类型 false:默认, scale>0;length>18:使用BigDecimal; scale=0;length[10,18]:使用Long; scale=0;length[5,9]:使用Integer; scale=0;length<5:使用Short; --> <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal --> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- !!!! Model Configurations !!!! --> <!--生成POJO类的位置--> <javaModelGenerator targetPackage="com.shen.pojo" targetProject="src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false"/> <!-- 从数据库返回的值被清理前后的空格 --> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- !!!! Mapper XML Configurations !!!! --> <!--生成映射文件xml的位置--> <sqlMapGenerator targetPackage="com.shen.mapper" targetProject="src"> <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="false"/> </sqlMapGenerator> <!-- !!!! Mapper Interface Configurations !!!! --> <!--mapper.xml 接口生成的位置--> <javaClientGenerator type="XMLMAPPER" targetPackage="com.shen.mapper" targetProject="THIS_CONFIGURATION_IS_NOT_REQUIRED" implementationPackage="true" > <!-- enableSubPackages:是否让schema作为包的后缀 --> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- schema即为数据库名, tableName为数据库中的对应的数据库表名或视图名, domainObjectName是要生成的实体类名, 如果想要mapper配置文件加入sql的where条件查询, 可以将enableCountByExample等设为true, 这样就会生成一个对应domainObjectName的Example类, enableCountByExample等设为false时, 就不会生成对应的Example类了. table其他属性: enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" 如果table里边不配置property,默认字段都生成为类属性。 <ignoreColumn column="FRED" />//忽略字段 <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />//无论字段是什么类型,生成的类属性都是varchar。 --> <!-- !!!! Table Configurations !!!! -->
<!--下面这个是生成该数据库下的所有的数据表的-->
<table tableName="%" enableCountByExample="true" enableDeleteByExample="true" enableSelectByExample="true" enableUpdateByExample="true"/> <!--指定数据库表--> </context> </generatorConfiguration>
不懂的盆友 可以留言 也可以加我QQ:2669256549 来帮你解答
如果有帮助可以给我留个言吗?打破一下我没有留言的尴尬