mybatis的逆向工程

Mybatis的逆向工程

在我们做项目的过程中用到mybatis的框架时,有时我们的表较多我们的项目是,一张表对应一个实体类,一个接口,一个映射文件,这时如果我们完全用手来敲代码,一样一样的去创建,去编写,这样我们的工作量就很大,很费时间。所以我们可以用到mybatis的逆向工程来帮助我们完成这些工作。Mybatis的逆向工程的作用就是帮我们生成这些实体类、接口、映射文件,有效的提高了我们的效率。

接下来我们就来看看是这么实现的

首先我们需要用到mysql-connector-java这个jar包,我们可以直接通过maven来在中央仓库里拿到。

然后我们需要编写我们的配置文件,这里的配置文件在http://www.mybatis.org/generator/running/runningWithJava.html网站中有详细的教程,这里面也有mybatis的逆向工程的详细介绍与教程。

然后我们来看看我的配置文件中的代码

代码如下:

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEgeneratorConfiguration

  PUBLIC "-//mybatis.org//DTDMyBatis Generator Configuration 1.0//EN"

 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

 

<generatorConfiguration>

<!-- 配置数据库的连接 -->

   <contextid="DB2Tables"targetRuntime="MyBatis3">

     <commentGenerator>

        <propertyname="suppressAllComments"value="true"/>

     </commentGenerator>

 

     <jdbcConnectiondriverClass="com.mysql.jdbc.Driver"

        connectionURL="jdbc:mysql://127.0.0.1:3306/car_cms"userId="root"

        password="lookme">

     </jdbcConnection>

     <javaTypeResolver>

        <propertyname="forceBigDecimals"value="false"/>

     </javaTypeResolver>

<!--    配置实体类的生成路径 -->

     <javaModelGeneratortargetPackage="com.huweiyang.bean"targetProject=".\src\main\java">

        <propertyname="enableSubPackages"value="true"/>

        <propertyname="trimStrings"value="true"/>

     </javaModelGenerator>

<!--      配置映射文件的生成路径 -->

     <sqlMapGeneratortargetPackage="Config"targetProject=".\src\main\resources">

        <propertyname="enableSubPackages"value="true"/>

     </sqlMapGenerator>

<!--    配置接口的生成路径 -->

     <javaClientGeneratortype="XMLMAPPER"

        targetPackage="com.huweiyang.dao"targetProject=".\src\main\java">

        <propertyname="enableSubPackages"value="true"/>

     </javaClientGenerator>

<!--    配置数据表中生成的实体类的名字与数据表的表名一张表对应一个table标签-->

     <tabletableName="after_sale"domainObjectName="After_sale"></table>

     <tabletableName="appointment"domainObjectName="Apponintment"></table>

     <tabletableName="car_type"domainObjectName="Car_type"></table>

     <tabletableName="card"domainObjectName="Card"></table>

     <tabletableName="comment"domainObjectName="Comment"></table>

     <tabletableName="employee"domainObjectName="Employee"></table>

     <tabletableName="expend"domainObjectName="Expend"></table>

     <tabletableName="goods"domainObjectName="Goods"></table>

     <tabletableName="goods_type"domainObjectName="Goods_type"></table>

     <tabletableName="member"domainObjectName="Member"></table>

     <tabletableName="orders"domainObjectName="Orders"></table>

     <tabletableName="performance"domainObjectName="Performance"></table>

     <tabletableName="repertory"domainObjectName="Repertory"></table>

     <tabletableName="service_type"domainObjectName="Service_type"></table>

     <tabletableName="servicet"domainObjectName="Servicet"></table>

   </context>

</generatorConfiguration>

我们的mybatis的逆向工程只需要编写一个配置文件就行了,然后我们来编写我们的测试类,测试类的代码在上面的网站中也有,我就直接将它里面的代码拷贝过来了

代码如下:

package car_cms;

 

import java.io.File;

import java.util.ArrayList;

import java.util.List;

 

import org.mybatis.generator.api.MyBatisGenerator;

import org.mybatis.generator.config.Configuration;

importorg.mybatis.generator.config.xml.ConfigurationParser;

importorg.mybatis.generator.internal.DefaultShellCallback;

 

public class Mapping {

 

       publicstatic void main(String[] args) throws Exception, Exception {

               List<String> warnings = newArrayList<String>();

                 boolean overwrite = true;

                 File configFile = newFile("generatorConfig.xml");

                 ConfigurationParser cp = newConfigurationParser(warnings);

                 Configuration config =cp.parseConfiguration(configFile);

                 DefaultShellCallback callback = newDefaultShellCallback(overwrite);

                 MyBatisGenerator myBatisGenerator = newMyBatisGenerator(config, callback, warnings);

                 myBatisGenerator.generate(null);

       }

 

}

最后我们只需要运行这个测试类,mybatis就帮我们自动生成了我们需要的实体类、接口、映射文件,在映射文件和接口中,mybatis还帮我们编写了想对应的动态sql,和方法,我们只需要在里面改动点参数与变量,就可以直接使用了特别方便,大大的减少了我们的工作时间,提高了我们的工作效率。

我的项目机构图:


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值