使用MyBatis Generator 插件自动生成映射文件

 

目录

1.MyBatis Generator简介

2.实现方法

3.步骤

3.1、准备相应的jar包

3.2、创建配置文件

3.3、在命令行中执行生成命令

输入案例:

3.4、最后创建的目标文件夹总览:

4.可能出现的问题


1.MyBatis Generator简介

        MyBatis Generator(简称为 MyBatis 生成器)是一个可以帮助我们自动生成 MyBatis 的 Mapper 接口Mapper XML 文件对应的实体类的插件工具。通过 MyBatis Generator,我们可以根据数据库表结构自动生成相应的映射文件,从而减少手动编写重复代码的工作量。

2.实现方法

MyBatis Generator 有3种常用的方式自动生成代码:

  • 命令行:(本文以命令行为例)
  • Eclipse插件
  • Maven

3.步骤

3.1、准备相应的jar包

对应的下载地址为:

3.2、创建配置文件

创建配置文件generator(可以自定义)只要在最后命令行中输入的一致就可以。

配置文件内容如下:

根据代码中的注释将对应的内容信息替换为自己设定的。

<?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:\generator\mysql-connector-java-5.1.45-bin.jar"/>
 
    <context id="mysqlTables"  targetRuntime="MyBatis3">
        <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://localhost:3306/springtest?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.po" targetProject="src">
            <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false -->
            <property name="enableSubPackages" value="true"/>
            <!-- 设置是否在getter方法中,对String类型字段调用trim()方法-->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
 
        <!-- 生成xml映射文件:包名(targetPackage)、位置(targetProject) -->
        <sqlMapGenerator targetPackage="mybatis" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
 
        <!-- 生成DAO接口:包名(targetPackage)、位置(targetProject) -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.dao" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
 
        <!-- 要生成的表:tableName - 数据库中的表名或视图名,domainObjectName - 实体类名 -->
        <table tableName="user" domainObjectName="User"
               enableCountByExample="false"
               enableUpdateByExample="false"
               enableDeleteByExample="false"
               enableSelectByExample="false"
               selectByExampleQueryId="false">
        </table>
 
    </context>
</generatorConfiguration>

3.3、在命令行中执行生成命令

1.打开cmd进入命令行
2.进入创建的文件夹下
3.输入以下命令
java -jar mybatis-generator-core-1.3.6.jar -configfile generator.xml -overwrite

输入案例:

3.4、最后创建的目标文件夹总览:

在创建的generator文件夹下创建src文件夹以及相应的jar包配置文件

4.可能出现的问题

出现找不到jar包的问题:

可能出现的原因:文件中尽量不要有中文名。

                             文件名本身错误,仔细核对下。

                             文件没有访问权,也就是文件被锁定了。

解决方法:右键文件,选择属性,在属性中的安全选项选择解除锁定

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值