首页 > 其他分享 >Mybatis逆向工程

Mybatis逆向工程

时间:2024-03-10 15:11:27浏览次数:21  
标签:xml 逆向 tBusiness 工程 generator mybatis Mybatis

Mybatis逆向工程

mybatis逆向工程是一个可以快速根据数据库表帮我们生成pojo实体类和mapper接口和mapper映射文件的一个插件,需要下载该项目。注意:只支持单表操作(单表的增删改查等sql可以帮助我们生成),关联查询需要自己写。

建议查阅tk-mybatis 更加好用的工具。

引入依赖

<!--mybatis逆向工程-->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>

配置文件的配置 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>
    <!--指定了驱动jar包的位置,这个是针对下载Jar包的方式,因为用了maven所以这个就用不上了-->
    <!-- <classPathEntry location="D:/mvn_repository_new/mysql/mysql-connector-java/5.1.45/mysql-connector-java-5.1.45.jar"/>-->

    <context id="DB2Tables" targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="false"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/qf-v2-v3_b?serverTimezone=Asia/Shanghai" userId="root"
                        password="123456">
            <property name="serverTimezone" value="UTC"/>
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>
        <!--指定生成entity实体类的具体位置-->
        <javaModelGenerator targetPackage="com.qf.entity" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!--指定生成mybatis映射xml文件的包名和位置-->
        <sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!--指定生成mapper接口的具体位置-->
        <javaClientGenerator targetPackage="com.qf.mapper" targetProject="./src/main/java" type="XMLMAPPER">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--&lt;!&ndash; 要生成entity/mapper的表名及自定义的DO名 &ndash;&gt;-->
        <!--<table tableName="users" domainObjectName="User"/>-->

        <!--<table tableName="product_brand" domainObjectName="ProductBrand" />-->

        <!--mybatis generator代码生成器在默认的情况下会生成对于表实体类的一个Examle类, 可以更改生成器的配置可避免生成Examle类,
        enableCountByExample,enableUpdateByExample,enableDeleteByExample,enableSelectByExample等配置为false后, 就不会生成生成Examle类了 -->

        <table tableName="t_address"  enableCountByExample="false"
               enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
               selectByExampleQueryId="false"/>
        

    </context>
</generatorConfiguration>

配置Generator的插件

<plugins>
      <!-- mybatis逆向工程插件 -->
      <plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.5</version>
        <dependencies>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
          </dependency>
        </dependencies>
        <configuration>
          <!--配置文件的路径-->
          <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile>
          <overwrite>true</overwrite>
        </configuration>
      </plugin>
    </plugins>

进行单元测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath*:spring-context*.xml")
public class TestGenerator {

    @Autowired
    TBusinessMapper tBusinessMapper;

    @Test
    public void testInsertBusiness(){
        TBusiness tBusiness = new TBusiness();
        tBusiness.setBsId(2L);
        tBusiness.settBsId(2L);
        tBusiness.setBsName("海尔冰箱");
        tBusiness.setTbId(2L);
        tBusinessMapper.insert(tBusiness);
    }
}    

标签:xml,逆向,tBusiness,工程,generator,mybatis,Mybatis
From: https://www.cnblogs.com/LoveForeverIT/p/18064200

相关文章

  • 软件工程日报005
     第一天第二天第三天第四天第五天所花时间(包括上课)     2h代码量(行)     600博客园(篇)     1所学知识     Python的一些函数......
  • catch mybatis 异常
    Spring的DAO异常层次异常                                何时抛出CleanupFailureDataAccessException 一项操作成功地执行,但在释放数据库资源时发生异常(例如,关闭一个Connection)DataAccessRe......
  • 软件工程日报004
     第一天第二天第三天第四天第五天所花时间(包括上课)    2h 代码量(行)    400 博客园(篇)    1 所学知识    学习了python ......
  • 软件工程日报2
     12345所花时间(包括上课) 1h 1.5h   代码量(行) 200 256   博客量(篇) 1 1   了解到的知识点 Springboot-登录认证-完成(拦截器) 获取用户详细信息   ......
  • 三月八号 春季软件工程开课博客
     本学期预计达到的目标就是能够熟练的在规定时间内开发一个web应用和Android应用并且两类应用可以做到简单的互动操作。本学期也会努力的向这个目标靠近。本篇博客主要是对自己进行基本的了解、回顾,并初步确定本学期要达到的目标。我目前就读于石家庄铁道大学软件工程专业,是一......
  • 软件工程第二周开篇博客
    我是来自石家庄铁道大学软件工程专业的一名普通学生,本篇博客也是作为系主任布置的任务,旨在要我们养成记录自己进步的一个习惯,也可以让我们在日后的场景中被面试官等人更好的了解能力等。目前在软件学习上的一个基本现状就是,对jsp设计javaweb项目有一点的了解和操作,但是并出熟练,想......
  • 软件工程日报4 2024.03.08
     第一天第二天第三天第四天第五天所花时间(包括上课)6小时5小时4小时4小时 代码量(行)300350200300 博客量(篇)1111 所学知识了解安卓相关数据库的知识,下载安装了matlab学习了相关安卓的布局展示了解activity之间的相互跳转以注册了github账......
  • 软件工程第二周开课博客
    1、介绍自己我叫张博林,是石家庄铁道大学软件工程系2022系的学生。我喜欢打篮球,并且是信息院院队的一员。而且我个人对数学、英语方面比较感兴趣。得益于长期的身体锻炼,我的身体素质还是比较不错。从小学开始,我就比较重视身体锻炼,在初中,我加入了学校田径队,由于身体原因,训练了一年......
  • 软件工程开发模式
    软件工程开发模式有多种,以下是一些常见的模式:瀑布模型(WaterfallModel):这是一种线性的软件开发过程,它按照一系列有序的阶段进行,每个阶段都有明确的任务和输出。在瀑布模型中,设计、需求分析、编码、测试和部署等阶段是顺序进行的,每个阶段完成后才能进入下一个阶段。迭代模型(Iter......
  • 岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状
    岩土工程监测仪器振弦采集仪的发展历程与国内外研究现状岩土工程监测仪器河北稳控科技振弦采集仪是用于测量土体或岩石地层的力学性质、地层结构、地下水位等参数的一种仪器设备。它通过振动在地下传播的声波信号的传播速度和特性,来推断地层的物理性质。以下是对振弦采集仪的发展......