myBatis逆向工程(20)

本文介绍myBatis逆向工程的原理及应用,包括如何利用mybatis-generator-core生成PO类、mapper接口及映射文件。通过配置generatorConfig.xml文件,实现针对特定数据库表的代码自动生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前记:这是很早之前自学学习myBatis时的笔记,内容比较基础,适合新手,内容基本是来自网络,如有雷同,敬请谅解!

1      myBatis逆向工程

1.1     什么是逆向工程

mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)

企业实际开发中,常用的逆向工程方式:

由于数据库的表生成java代码。

使用官方网站的mapper自动生成工具mybatis-generator-core-1.3.2来生成po类和mapper映射文件。

 

1.2     mapper生成配置文件:

在generatorConfig.xml中配置mapper生成的详细信息,注意改下几点:

1、  添加要生成的数据库表

2、  po文件所在包路径

3、  mapper文件所在包路径

配置文件如下:

<?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="testTables"targetRuntime="MyBatis3">

      <commentGenerator>

         <!--是否去除自动生成的注释 true:是 false: -->

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

      </commentGenerator>

      <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->

      <jdbcConnectiondriverClass="com.mysql.jdbc.Driver"   connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"password="123">

      </jdbcConnection>

      <!-- <jdbcConnection  

                 driverClass="oracle.jdbc.OracleDriver"

                connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg"

                userId="yycg"

                password="yycg">

      </jdbcConnection>   -->

      <!--默认false,把JDBC DECIMAL NUMERIC 类型解析为

          Integer,为 true时把JDBC DECIMAL

         NUMERIC类型解析为java.math.BigDecimal -->

      <javaTypeResolver>

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

      </javaTypeResolver>

      <!-- targetProject:生成PO类的位置 -->

      <javaModelGeneratortargetPackage="cn.itcast.ssm.po"   targetProject=".\src">

         <!-- enableSubPackages:是否让schema作为包的后缀 -->

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

         <!--从数据库返回的值被清理前后的空格 -->

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

      </javaModelGenerator>

        <!-- targetProject:mapper映射文件生成的位置 -->

      <sqlMapGeneratortargetPackage="cn.itcast.ssm.mapper"     targetProject=".\src">

         <!-- enableSubPackages:是否让schema作为包的后缀 -->

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

      </sqlMapGenerator>

      <!-- targetPackagemapper接口生成的位置 -->

      <javaClientGeneratortype="XMLMAPPER"     targetPackage="cn.itcast.ssm.mapper"     targetProject=".\src">

         <!-- enableSubPackages:是否让schema作为包的后缀 -->

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

      </javaClientGenerator>

      <!--指定数据库表 -->

      <table tableName="items"></table>

      <tabletableName="orders"></table>

      <tabletableName="orderdetail"></table>

      <tabletableName="user"></table>

   </context>

</generatorConfiguration>

1.3     使用java类生成Mapper文件

    public void generator() throws Exception{

                   List<String>warnings = new ArrayList<String>();

                   booleanoverwrite = true;

                   //指定 逆向工程配置文件

                   FileconfigFile = new File("generatorConfig.xml");

                   ConfigurationParsercp = new ConfigurationParser(warnings);

                   Configurationconfig = cp.parseConfiguration(configFile);

                   DefaultShellCallbackcallback = new DefaultShellCallback(overwrite);

                   MyBatisGeneratormyBatisGenerator = new MyBatisGenerator(config,  callback,warnings);

                   myBatisGenerator.generate(null);

         }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值