• 09.MyBatis的逆向工程


    逆向工程:(通过表自动生成实体类和映射文件)

    1.导入mybatis-generator-core-1.3.2.jar的jar包

    2.在src下创建并编写配置文件,如下,

    generator.xml

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE generatorConfiguration
     3   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
     4   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
     5 <generatorConfiguration>
     6  <context id="DB2Tables" targetRuntime="MyBatis3">
     7   <commentGenerator>
     8    <!--
     9                 suppressAllComments属性值:
    10                     true:自动生成实体类、SQL映射文件时没有注释
    11                     true:自动生成实体类、SQL映射文件,并附有注释
    12               -->
    13    <property name="suppressAllComments" value="true" />
    14   </commentGenerator>
    15   <!-- 数据库连接信息 -->
    16   <jdbcConnection driverClass="com.mysql.jdbc.Driver"
    17    connectionURL="jdbc:mysql:///MyBatis?serverTimezone=UTC" 
    18 userId="root"  password="root">
    19   </jdbcConnection>
    20   <!-- 
    21             forceBigDecimals属性值: 
    22                 true:把数据表中的DECIMAL和NUMERIC类型,
    23 解析为JAVA代码中的java.math.BigDecimal类型 
    24                 false(默认):把数据表中的DECIMAL和NUMERIC类型,
    25 解析为解析为JAVA代码中的Integer类型 
    26         -->
    27   <javaTypeResolver>
    28    <property name="forceBigDecimals" value="false" />
    29   </javaTypeResolver>
    30   <!-- 
    31             targetProject属性值:实体类的生成位置  
    32             targetPackage属性值:实体类所在包的路径
    33         -->
    34   <javaModelGenerator targetPackage="com.offcn.entity"
    35                              targetProject=".src">
    36    <!-- trimStrings属性值:
    37                 true:对数据库的查询结果进行trim操作
    38                 false(默认):不进行trim操作
    39               -->
    40    <property name="trimStrings" value="true" />
    41   </javaModelGenerator>
    42   <!-- 
    43             targetProject属性值:SQL映射文件的生成位置  
    44             targetPackage属性值:SQL映射文件所在包的路径
    45         -->
    46   <sqlMapGenerator targetPackage="com.offcn.mapper" 
    47 targetProject=".src">
    48   </sqlMapGenerator>
    49   <!-- 生成动态代理的接口  -->
    50   <javaClientGenerator type="XMLMAPPER" targetPackage="com.offcn.mapper" targetProject=".src">
    51   </javaClientGenerator>
    52   <!-- 指定数据库表  -->
    53   <table tableName="student"> </table>
    54   <table tableName="studentcard"> </table>
    55   <table tableName="studentclass"> </table>
    56  </context>
    57 </generatorConfiguration>

    3.有了自动生成需要的配置文件generator.xml,就可以编写自动生成的相关代码,如下:

    MyBatis_Generator.java

     1 public class Generator {
     2     public static void main(String[] args) throws Exception {
     3         File f = new File("src/generator.xml");
     4           List<String> warnings = new ArrayList<String>();
     5           ConfigurationParser cp = new ConfigurationParser(warnings);
     6           Configuration config = cp.parseConfiguration(f);
     7           DefaultShellCallback callBack = new DefaultShellCallback(true);
     8           MyBatisGenerator generator = new MyBatisGenerator(config, callBack, warnings);
     9           generator.generate(null);
    10     }
    11 }
  • 相关阅读:
    [NOI Online 2021 提高组] 愤怒的小N
    [NOI Online 2021 提高组] 积木小赛
    「2020-2021 集训队作业」Yet Another Permutation Problem
    无标号有根树/无根树 计数
    无向图的 三元环
    有标号二分图计数
    有标号荒漠计数
    「雅礼集训 2018 Day8」B
    CF708E Student's Camp
    清华集训 2016 选做
  • 原文地址:https://www.cnblogs.com/man-tou/p/11365884.html
Copyright © 2020-2023  润新知