Bootstrap

【笔记】记一次mybatis-generator踩坑 个人认为这样配置generator比较简单

1.直接新建在项目里

2.写配置文件generator.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>
 
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包 -->
    <classPathEntry  location="D:\maven-warehouse\repository\mysql\mysql-connector-java\5.1.47\mysql-connector-java-5.1.47.jar"/>
    <!-- <classPathEntry  location="D:\maven-warehouse\repository\mysql\mysql-connector-java\8.0.17\mysql-connector-java-8.0.17.jar"/> -->
 
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <!-- 实体类生成序列化属性-->
        <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
        <!-- 实体类重写HashCode()和equals()-->
        <plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
        <!-- 实体类重写toString() -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
 
        <commentGenerator>
            <!-- 是否去除自动生成的注释 -->
            <property name="suppressAllComments" value="true"/>
            <!-- 生成注释是否带时间戳-->
            <property name="suppressDate" value="true"/>
            <!-- 生成的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" />
        </commentGenerator>
 
        <!-- 数据库连接驱动类,URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/dbName?useUnicode=true&amp;characterEncoding=UTF-8"
                        userId="root" password="root">
        </jdbcConnection>
 
        <!-- java类型处理器:处理DB中的类型到Java中的类型 -->
        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
            <!-- 是否有效识别DB中的BigDecimal类型 -->
            <property name="forceBigDecimals" value="true"/>
        </javaTypeResolver>
 
        <!-- 生成Domain模型:包名(targetPackage)、位置(targetProject) -->
        <javaModelGenerator targetPackage="com.project.business.domain" targetProject="D:/workSpace/project/src/main/java">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="true"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
 
        <!-- 生成xml映射文件:包名(targetPackage)、位置(targetProject) -->
        <sqlMapGenerator targetPackage="com.project.business.dao" targetProject="D:/workSpace/project/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
 
        <!-- 生成DAO接口:包名(targetPackage)、位置(targetProject) -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.project.business.dao" targetProject="D:/workSpace/project/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
 
        <!-- 要生成的表:tableName - 数据库中的表名或视图名,domainObjectName - 实体类名 -->
        <table tableName="tableName" domainObjectName="tableNameDO"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>
 
    </context>
</generatorConfiguration>

要改的是targetpackage和targetproject和数据库url用户名密码

其他几乎不用动 配置文件的标签位置也不能动 动了会报错

上面的代码来自GeneratorConfig.xml文件配置详解及IDEA中的使用,处女座小编整理,值得一看-CSDN博客

讲的很详细 但本贴只用于记录解决问题所以直接引用 感兴趣的可以去看看

3.下载该generator和mysql依赖并添加到创建的generator的文件夹中

下载mybatis-generator-core1.3.2Maven Repository: org.mybatis.generator » mybatis-generator-core » 1.3.2 (mvnrepository.com)

mysql在我电脑就有于是直接复制粘贴

这些都完成后就变成了第一张图的模样(执行4.那行命令的时候查询mysql驱动是在generator文件夹中执行的所以我把mysql驱动放generator的src外面)

因为用的是mysql8.0.15版本所以在generator.xml文件中的驱动应该写为

5.x版本以下当我没说

4.

打开idea终端

cd进generator的src

输入 

java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
(你用其他版本的generator就改一下版本号就行了)

然后报错时区错误

5.

去generator.xml中把时区改成utc

再次输入java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite

成功并报错ssl错误

随便吧 能生成代码就行了

;