mybatis 插件生成 java 代码和 xml

使用 mybatis 插件生成 javaBean 和 mapper.xml 文件,在开发中非常方便,可以节省很多人力

1、eclipse 下载 mybatis-generator 插件

在 eclipse 的 Eclipse Marketplace 搜索 mybatis,并安装

上图已经安装完 mybatis-generator 插件

2、创建 generatorConfig 的工程目录

在 demo 项目的 resources 目录下创建如下图目录结构

3、创建 generatorConfig.xml 文件

数据库中需要生成代码的表格如下

表格名 a_user 

 

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="MysqlTables" targetRuntime="MyBatis3">
 
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
 
        <!--jdbc链接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/orcl?useUnicode=true&amp;characterEncoding=utf8"
                        userId="root" password="123456">
        </jdbcConnection>
 
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
 
        <!-- 生成实体类的位置  注意 demo/src/main/java demo为项目名 -->
        <javaModelGenerator targetPackage="com.che.open.entity"
                            targetProject="demo/src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
 
        <!-- mapper.xml文件生成位置
        <sqlMapGenerator targetPackage="com.che.open.mapper"
                         targetProject="demo/src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
         -->
         
        <!-- mapper.xml文件生成位置,本例将xml文件和mapper接口放到同一包下;读者可根据自己项目情况进行设置 
                                      注意 demo/src/main/java demo为项目名 --> 
        <sqlMapGenerator targetPackage="com.che.open.mapper"
                         targetProject="demo/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
 
        <!-- mapper接口生成的位置         注意 demo/src/main/java demo为项目名-->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.che.open.mapper"
                             targetProject="demo/src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
 
        <!-- 指定要生成的表  a_user为表名 -->
        <table tableName="a_user" domainObjectName="AUserPO"
               enableSelectByPrimaryKey="true"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <!-- useActualColumnNames 设置称 true 生成的model类会直接使用column本身的名字,而不会再使用驼峰命名方法 -->
            <property name="useActualColumnNames" value="false"/>
            
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
 
    </context>
</generatorConfiguration>

 generatorConfig.xml 相关配置的说明已写在代码中

 

在 pom.xml 文件中添加 mysql 驱动依赖

<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>5.1.46</version>
</dependency>

4、运行 generatorConfig.xml 文件生成 javaBean 和 mapper.xml 文件

5、效果如下

 

 

6、扩展

上述配置完成了代码生成,但每次生成代码都需要修改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="config/mybatis/generatorConfig.properties" />
    <context id="MysqlTables" targetRuntime="MyBatis3">
 
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
 
        <!--jdbc链接信息 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.user}" password="${jdbc.password}">
        </jdbcConnection>
 
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
 
        <!-- 生成实体类的位置  注意 demo/src/main/java demo为项目名 -->
        <javaModelGenerator targetPackage="${bean}"
                            targetProject="${target_project}">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
 
         
        <!-- mapper.xml文件生成位置,本例将xml文件和mapper接口放到同一包下;读者可根据自己项目情况进行设置 
                                      注意 demo/src/main/java demo为项目名 --> 
        <sqlMapGenerator targetPackage="${mapper_xml}"
                         targetProject="${target_project_xml}">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
 
        <!-- mapper接口生成的位置         注意 demo/src/main/java demo为项目名-->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="${mapper}"
                             targetProject="${target_project}">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
 
        <!-- 指定要生成的表  a_user为表名 -->
        <table tableName="${table_name}" domainObjectName="${bean_name}"
               enableSelectByPrimaryKey="true"
               enableCountByExample="false" enableUpdateByExample="false"
               enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false">
            <!-- useActualColumnNames 设置称 true 生成的model类会直接使用column本身的名字,而不会再使用驼峰命名方法 -->
            <property name="useActualColumnNames" value="false"/>
            
            <generatedKey column="id" sqlStatement="MySql" identity="true"/>
        </table>
 
    </context>
</generatorConfiguration>

新增 generatorConfig.properties 文件,其内容如下

jdbc.url=jdbc:mysql://192.168.0.110:3306/manager?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.user=root
jdbc.password=123456

target_project=gmybatis/src/main/java
target_project_xml=gmybatis/src/main/resources
mapper_xml=mapper


bean=com.fin.sys.bean
mapper=com.fin.sys.mapper
table_name=m_userinfo
bean_name=Userinfo

项目结构如下

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世君子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值