MyBatis Generator代码生成器

地址:http://mybatis.org/generator/quickstart.html

 

依赖

<!--mybatis代码生成-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.2</version>
        </dependency>
    </dependencies>

配置:generatorConfig.xml

<!DOCTYPE generatorConfiguration PUBLIC
        "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!--如果需要使用 command 的方式生成需要配置数据库驱动的jar包路径-->
    <!--   java -jar mybatis-generator-core-x.x.x.jar -configfile \temp\generatorConfig.xml -overwrite  -->
<!--    <classPathEntry location="指定数据驱动的磁盘路径"/>-->

    <!--
        context 生成上下文 配置生成规则
            id:唯一标识 随意写
            targetRuntime:生成策略
                MyBatis3DynamicSql 默认的 会生成带动态sql的CRUD
                MyBatis3Kotlin
                MyBatis3            生成通用的查询,可以指定动态where条件
                MyBatis3Simple      只生成简单的CRUD
    -->
    <context id="simple" targetRuntime="MyBatis3Simple">

        <!--数据源-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mytest"
                        userId="root"
                        password="123456"/>

        <!-- pojo JAVA实体生成的规则
            targetPackage:生成到哪个包下面
            targetProject:当前文件的哪个相对路径下
        -->
        <javaModelGenerator targetPackage="com.ssm.pojo" targetProject="src/main/java"/>


        <!--mapper xml映射文件 生成的规则
              targetPackage:生成到哪个包下面
            targetProject:当前文件的哪个相对路径下

            注意:sqlMapGenerator 在 javaClientGenerator 前面,注意语句顺序
        -->
        <sqlMapGenerator targetPackage="com.ssm.mapper" targetProject="src/main/resources"></sqlMapGenerator>


        <!--mapper 接口 生成的规则
            targetPackage:生成到哪个包下面
            targetProject:当前文件的哪个相对路径下
            type:指定生成的方式
                1.使用注解的方式
                2.使用接口绑定的方式生成 (要配置sqlMapGenerator)
        -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.ssm.mapper" targetProject="src/main/java"/>


        <!--配置哪些表进行代码生成
                tableName:表明
                domainObjectName:指定pojo 类名 (可省略自动生成)
                mapperName:指定mapper mapper接口 和 xml映射文件 用的同一个名字 (可省略自动生成)
        -->
        <table tableName="mytable"/>
        <table tableName="person"/>
    </context>
</generatorConfiguration>

 

使用代码方式:

    @Test
    public void MybatisTool() throws XMLParserException, IOException, InvalidConfigurationException, SQLException, InterruptedException {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("src/main/resources/generatorConfig.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(configFile);
        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        myBatisGenerator.generate(null);
    }

 插件方式:

  <!-- Mybatis-Generator插件,自动生成代码 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <!--必須要引入数据库驱动-->
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <!--必须制定版本-->
                        <version>8.0.33</version>
                    </dependency>
                </dependencies>
            </plugin>

 

注意:

 

posted @ 2023-07-16 10:06  花开如梦  阅读(64)  评论(0编辑  收藏  举报