아이디어 에서 Mybatis Generator 역방향 프로젝트 생 성 코드 사용 하기

7451 단어 mavenMybatis역공학
MAVEN 을 통 해 Mybatis 역방향 프로젝트 완료
1.POM 파일 에 플러그 인 추가
pom 파일 의 build 탭 에 plugin 플러그 인과 데이터베이스 연결 jdbc 의존 도 를 추가 합 니 다.

<build>
  <plugins>
    <plugin>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-maven-plugin</artifactId>
      <version>1.4.0</version>
      <dependencies>
        <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.13</version>
        </dependency>
      </dependencies>
      <configuration>
        <!--        -->
        <verbose>true</verbose>
        <!--        -->
        <overwrite>true</overwrite>
        <!--        -->
        <configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
      </configuration>
    </plugin>
  </plugins>
</build>
pom 파일 에 데이터베이스 연결 의존 도 를 도입 하지 않 으 면 설정 파일 에서 로 컬 방식 으로 연결 을 시작 할 수 있 습 니 다.
2.자신 이 정의 한 위치 에 프로필 generator Config.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>
  <!--         ,     properties            ${userId} -->
  <!--  <properties resource="generator.properties"></properties>-->

  <!--      :      build         ,                -->
  <classPathEntry location="D:\Maven\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar"/>

  <!-- targetRuntime    MyBatis3DynamicSql,      xml  ,    Mybatis3 -->
  <context id="default" targetRuntime="Mybatis3">

    <!-- optional,    class ,        -->
    <commentGenerator>
      <!--             true:  : false:  -->
      <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!--         -->
    <jdbcConnection
        driverClass="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai"
        userId="root"
        password="123456">
    </jdbcConnection>

    <!--    ,     ,       java         -->
    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!-- Model     ,        key  ,        Example 
       targetPackage        model       
       targetProject               
    -->
    <javaModelGenerator targetPackage="com.demo.dao.pojo" targetProject="src/main/java">
      <!--       , targetPackage.schemaName.tableName -->
      <property name="enableSubPackages" value="true"/>
      <!--    model        -->
      <property name="constructorBased" value="false"/>
      <!--     CHAR         trim   -->
      <property name="trimStrings" value="false"/>
      <!--    Model              Model      setter  ,       -->
      <property name="immutable" value="true"/>
    </javaModelGenerator>

    <!--             -->
    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources">
      <property name="enableSubPackages" value="false"/>
    </sqlMapGenerator>

    <!--      ,         Model   XML        
        type="ANNOTATEDMAPPER",  Java Model       Mapper  
        type="MIXEDMAPPER",       Java Model     Mapper  
        type="XMLMAPPER",  SQLMap XML      Mapper  
    -->
    <javaClientGenerator targetPackage="com.demo.dao.mapper" targetProject="src/main/java" type="XMLMAPPER">
      <property name="enableSubPackages" value="false"/>
    </javaClientGenerator>
    <table tableName="aging_demotion" domainObjectName="AgingDemotion"
        enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">
     <!--          ID -->
     <generatedKey column="aging_demotion_id" sqlStatement="Mysql" identity="true" />
    </table>

    <table tableName="aging_listener" domainObjectName="AgingListener"
        enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">
    </table>

    <table tableName="aging_state" domainObjectName="AgingState"
        enableCountByExample="false" enableUpdateByExample="false"
        enableDeleteByExample="false" enableSelectByExample="false"
        selectByExampleQueryId="false">
    </table>
  </context>
</generatorConfiguration>
XML 설정 정 보 는 my batis 홈 페이지 참조:http://mybatis.org/generator/configreference/xmlconfig.html
3.maven 을 통 해 시작

mybatis-generate:geneate 를 누 르 면 대응 하 는 자바,mapper,pojo 실체 클래스 를 생 성 할 수 있 습 니 다.(maven 에 이 플러그 인 이 표시 되 지 않 으 면 왼쪽 상단 을 클릭 하여 새로 고침 할 수 있 습 니 다)
4.Insert 시 홈 키 되 돌리 기
generatedKey 를 통 해 삽입 할 때 ID 를 되 돌려 줍 니 다.그 값 은 수치 형 자체 증가 키 여야 합 니 다.
역방향 으로 생 성 된 코드 는:

<selectKey keyProperty="agingDemotionId" order="AFTER" resultType="java.lang.Long">
   SELECT LAST_INSERT_ID()
</selectKey>
스스로 이런 식 으로 자 증 ID 를 되 돌 릴 수도 있다.

<insert id="insert" useGeneratedKeys="true" keyProperty="agingDemotionId"
      parameterType="com.jd.aging.presentation.domain.AgingDemotionEntity">
이러한 방식 은 전송 대상 에 만 적 용 될 때 insert 방법 은 성공 적 으로 1 을 되 돌려 줍 니 다.그러나 들 어 오 는 실체 클래스 대상 에서 메 인 키 ID 의 값 은 null 이 아니 라 이 삽입 실체 클래스 의 메 인 키 ID 값 을 얻 습 니 다.

아이디어 에서 Mybatis Generator 역방향 프로젝트 생 성 코드 를 사용 하 는 것 에 대한 자세 한 설명 은 여기까지 입 니 다.더 많은 MAVEN 이 Mybatis 역방향 프로젝트 를 완 료 했 습 니 다.이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기