Mybatis逆向工程,IDE:idea

记录一下今天的

首先创建java工程

选择maven,

命名看自己

选择maven,这个我图方便直接选择了idea自带的

然后next,然后直接finish

然后maven就会直接去下载所需要的文件,还有依赖,等待它下载好

这是自动生成的文件目录

我们需要手动创建几个包,最终的目录结构我先贴上来

几个主要的包,po用来放你table对应的JavaBean,mapper用来放mapper接口和mapper.xml

配置文件的路径我是直接放在src下面的

下面贴上log4j的配置文件代码,很简单网上随便找的

log4j.rootLogger=DEBUG, Console
#Console
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.org.apache=DEBUG
log4j.logger.java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

这里贴上我的pom文件代码

<?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>

  <groupId>mybatis</groupId>
  <artifactId>mybatis</artifactId>
  <version>1.0-SNAPSHOT</version>

  <name>mybatis</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- MyBatis -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.4.4</version>
    </dependency>
    <!-- MyBatis generator(逆向工程) -->
    <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.5</version>
    </dependency>
    <!-- log4j -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.5</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.11</version>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>RELEASE</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.7.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.20.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

然后我们打开mybatis_generator的官网,http://www.mybatis.org/generator/configreference/xmlconfig.html

我们用xml配置来生成

这个里面有一个xml的模板,我一开始就是直接拷贝过来,然后修改了一些参数,但最后运行的时候发现运行成功过后,但是并没有文件生成,后期我也对比了网上的一些配置文件,发现其并没有错的地方,所以我怀疑是我这边的编码有些问题吗,导致我xml文件的读取到的东西是不对的所以导致生成文件失败,

接下来我们来看一下这个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>
    <!--
        targetRuntime:指定生成代码的运行目标
            可选值:
                MyBatis:可以生成动态WHERE条件的SQL
                MyBatis3Simple:只能生成简单的CURD
                Ibatista2Java2
                Ibatista2Java5
     -->
    <context id="Table2Bean" targetRuntime="MyBatis3">
        <!-- 指定如何连接到目标数据库 -->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/mydata?useSSL=false&amp;serverTimezone=UTC" userId="root" password="admin">
        </jdbcConnection>


        <!-- Java类型解析器 -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"></property>
        </javaTypeResolver>

        <!-- 配置JavaBean的生成策略 -->
        <!--
            targetPackage:目标包名;
            targetProject:目标工程;
         -->
        <javaModelGenerator targetPackage="com.echean.po" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"></property>
            <property name="trimStrings" value="true"></property>
        </javaModelGenerator>

        <!-- sql映射生成策略 -->
        <sqlMapGenerator targetPackage="com.echean.mapper" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"></property>
        </sqlMapGenerator>

        <!--mapper接口的所在位置 -->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.echean.mapper" targetProject="./src/main/java">
            <property name="enableSubPackages" value="true"></property>
        </javaClientGenerator>

        <!-- 根据表创建JavaBean-->
        <!--
            tableName:表名;
            domainObjectName:要生成的类名;
         -->
        <table tableName="gs_jq_project" domainObjectName="Gs_jq_project"></table>

    </context>

</generatorConfiguration>

注释都有大概鞥能看懂,主要要注意的就是targetProject目标项目的路径,写法linux/Mac和windows不一样

接下来我们选择用运行java程序的方式来生成到官网去看,他也提供了好几种方式我们选择java 

看下面的图

我这边直接在刚才自动生成的App.java文件里面写 

public class App {
    public void TestGenerator() throws Exception {
        List<String> warnings = new ArrayList<String>();
        boolean overwrite = true;
        File configFile = new File("./src/mbg.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);
    }
    public static void main( String[] args ) throws Exception {
        App mbg = new App();
        mbg.TestGenerator();
    }
}

最后运行,就能看到文件生成啦

猜你喜欢

转载自blog.csdn.net/qq_36486573/article/details/81147319