mybatis-generetor生成工具的使用

mybatis-generetor生成工具的使用

使用Maven插件生成

  • 第一步 在pom文件中加入系列插件
<plugin>
	<groupId>org.mybatis.generator</groupId>
	<artifactId>mybatis-generator-maven-plugin</artifactId>
	<version>1.3.2</version>
	<configuration>
		<configurationFile>${basedir}/src/main/resources/builder/generatorConfig.xml</configurationFile>
		<overwrite>true</overwrite>
		<verbose>true</verbose>
	</configuration>
	<dependencies>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.30</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>tk.mybatis</groupId>
			<artifactId>mapper</artifactId>
			<version>${mapper.version}</version>
		</dependency>
	</dependencies>
</plugin>

对应mybatis的xml文件在这个位置:/src/main/resources/builder/generatorConfig.xml,这个位置可以自己调整,只要配置好就可以

  • 设置generatorConfig.xml

    • 配置数据源:
    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                    connectionURL="jdbc:mysql://127.0.0.1:3306/user_server?useUnicode=true&amp;characterEncoding=UTF8"
                    userId="root"
                    password="123456">
    </jdbcConnection>
    
    • 配置实体类和数据库表的对应关系:
    <table tableName="user" domainObjectName="User"/>
    <table tableName="user_company" domainObjectName="UserCompany"/>
    <table tableName="person_user" domainObjectName="PersonUser"/>
    <table tableName="company_user" domainObjectName="CompanyUser"/>
    <table tableName="company_contract" domainObjectName="CompanyContract"/>
    
  • 执行mybatis-generator插件:这里我用的是idea开发工具执行:

    在这里插入图片描述

使用mybatis-generetor的jar包生成

  • 下载插件:

    • 第一步:下载mybatis-generator工具包

    GitHub地址:https://github.com/yundianzixun/mybatis-generator-1.35 ,如下图所示:

    mybatis-generator.jpg

    • 第二步:修改配置信息
    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>
        <!-- 数据库驱动 -->
        <classPathEntry    location="mysql-connector-java-5.1.9.jar"/>
        <context id="DB2Tables"    targetRuntime="MyBatis3">
            <commentGenerator> 
                <property name="suppressDate" value="true"/>
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
    		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
    			connectionURL="数据库URL" userId="数据库用户名" password="数据库密码">
            </jdbcConnection>
    		<!-- 数据库类型与java类型转换 -->
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <!-- 生成Model类存放位置 -->
            <javaModelGenerator targetPackage="com.itunion.wxshop.model" targetProject="src">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="false"/>
            </javaModelGenerator>
            <!-- 生成映射文件存放位置 -->
            <sqlMapGenerator targetPackage="mapping" targetProject="src">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <!-- 生成Dao类存放位置 -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.itunion.wxshop.mapper" targetProject="src">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
            <!-- 生成对应表及类名 -->
            <table tableName="user_info" domainObjectName="UserInfo"
                   enableCountByExample="false"
                   enableUpdateByExample="false"
                   enableDeleteByExample="false"
                   enableSelectByExample="false"
                   selectByExampleQueryId="false">
            </table>
        </context>
    </generatorConfiguration>
    
    

    修改点1:数据库配置

    <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                connectionURL="数据库URL" userId="数据库用户名" password="数据库密码">
            </jdbcConnection>
    

    修改点2:生成model类存放位置

    #com.itunion.wxshop.model 可修改为自己项目映射目录
    <javaModelGenerator targetPackage="com.itunion.wxshop.model" targetProject="src">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="false"/>
            </javaModelGenerator>
    

    修改点3:生成mapping文件存放位置

    #targetPackage 报名可以修改
    <!-- 生成映射文件存放位置 -->
            <sqlMapGenerator targetPackage="mapping" targetProject="src">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
    

    修改点4:生产Dao类存放位置

    #targetPackage 目录可修改
    <javaClientGenerator type="XMLMAPPER" targetPackage="com.itunion.wxshop.mapper" targetProject="src">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
    

    修改点5:生成对应表及类名

    #对应自己的表信息(可copy多个)
    <table tableName="user_info" domainObjectName="UserInfo"
                   enableCountByExample="false"
                   enableUpdateByExample="false"
                   enableDeleteByExample="false"
                   enableSelectByExample="false"
                   selectByExampleQueryId="false">
            </table>
    
    • 第三步:控制台执行生成命令(必须要安装好jdk哦)
    1. 进入mybatis-generator工具 lib 目录
    xxx-2:~ lin$ cd /Users/lin/Downloads/JavaCode/mybatis-generator-core-1.3.5wx-shop/lib 
    
    1. 执行命令
    xxx-2:~ lin$ cd /Users/lin/Downloads/JavaCode/mybatis-generator-core-1.3.5wx-shop/lib 
    xxx-2:lib lin$ java -jar mybatis-generator-core-1.3.5.jar -configfile generatorConfig.xml -overwrite
    MyBatis Generator finished successfully.
    xxx-2:lib lin$ 
    
    1. 执行结果
    MyBatis Generator finished successfully.
    
    1. 结果查看

    结果.jpg

    • 第四步:将生成的文件放到自己项目中

    generatorConfig.xml 文件里面的项目路径配置好了 直接copy就可以用,如果没有配置好 那么生成的内容还需要手工修改。

完毕

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值