喜欢与改变

导航

generator mybatis逆向工程

mybatis逆向工程:根据数据库中的表在项目中生成对应的 实体类,dao接口与mapper.xml映射文件

  1. 在eclipse中,以插件的形式的存在,把设置好的配置文件,直接通过eclipse中的插件运行即可(如何下载使用百度)
    在idea中,maven以<plugin>的形式集成。在<build>子节点下添加pom.xml中的 plugin 代码。并编写好用于生成的配置代码(后面作解释)。
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.xiaoeyu</groupId>
        <artifactId>springboot2</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springboot2</name>
        <description>Demo project for Spring Boot</description>
        
        <properties>
            <java.version>1.8</java.version>
        </properties>
        
        <dependencies>
            <!--web相关-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--mybatis相关-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.0.0</version>
            </dependency>
            <!--mysql相关-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
        
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
                <!--手动添加的,逆向工程,用于根据数据库中的表生成实体类,dao接口与对应的mapper.xml文件-->
                <plugin>
                    <!--逆向工程:需要的jar包-->
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <version>1.3.7</version>
                    <configuration>
                        <overwrite>true</overwrite>
                        <!--如何生成的配置文件的地址-->
                        <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    </configuration>
                    <!--生成时与数据库连接需要的驱动-->
                    <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>5.1.47</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    
    </project>

    在idea右侧边框

     

  2. .
    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>
        <!--逆向工程配置文件,通过在pom.xml的依赖于引用来根据数据库中的表生成实现类与dao接口以及映射文件-->
        <context id="mysql" targetRuntime="Mybatis3">
            <commentGenerator>
                <property name="suppressDate" value="true"/>
                <!-- 是否去除自动生成的注释 true:是 : false:否 -->
                <property name="suppressAllComments" value="true"/>
            </commentGenerator>
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/bcs"
                            userId="root" password="">
            </jdbcConnection>
            <!--存放生成实体类的路径,在idea中targetProject填写生成地址,eclipse中填写项目名-->
            <javaModelGenerator targetPackage="com.xiaoeyu.springboot2.pojo" targetProject="src/main/java"/>
            <!--生成sql映射文件的路径,在idea中,文件会被标记,资源放到resources中,mapper.xml放到java中的话,需要在pom.xml进行额外配置-->
            <sqlMapGenerator targetPackage="com.xiaoeyu.springboot2.mapper" targetProject="src/main/resources"/>
            <!--生成dao接口的目录,dao 数据访问对象,面向对象的数据访问接口-->
            <javaClientGenerator type="XMLMAPPER" targetPackage="com.xiaoeyu.springboot2.dao" targetProject="src/main/java"/>
            <!--接口映射名可以自动生成 mapperName,也可以手动设置-->
            <!--tableName:数据库中的表名,mapperName:dao接口及mapper.xml映射文件名,domainObjectName:pojo实体类名-->
            <table tableName="emp" domainObjectName="Emp" enableDeleteByExample="false"
                   enableUpdateByExample="false"
                   enableSelectByExample="false"
                   enableCountByExample="false"
                   selectByExampleQueryId="false"/>
            
            <table tableName="dept"  domainObjectName="Dept" enableDeleteByExample="false"
                   enableUpdateByExample="false"
                   enableSelectByExample="false"
                   enableCountByExample="false"
                   selectByExampleQueryId="false"/>
        
        </context>
        <!--添加在pom.xml的build节点下的内容。-->
        <!--<plugins>
            <plugin>
                &lt;!&ndash;逆向工程的主要包&ndash;&gt;
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.7</version>
                <configuration>
                    <overwrite>true</overwrite>
                    <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>//逆向工程配置文件的路径
                </configuration>
                &lt;!&ndash;要与数据库进行连接。依赖的驱动&ndash;&gt;
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.47</version>
                    </dependency>
                </dependencies>
            
            </plugin>
        </plugins>-->
    </generatorConfiguration>
    
    

posted on 2019-03-01 23:30  喜欢与改变  阅读(262)  评论(0编辑  收藏  举报