zoukankan      html  css  js  c++  java
  • MyBatise的自动生成代码功能

    1、依赖


    <!-- 自动生成实体类 -->
    <dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.2</version>
    </dependency>

    2、首先是配置文件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 resource="jdbc.properties" />
    <context id="sqlserverTables" targetRuntime="MyBatis3">
    <!-- 生成的pojo,将implements Serializable-->
    <plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
    <commentGenerator>
    <!-- 是否去除自动生成的注释 true:是 : false:否 -->
    <property name="suppressAllComments" value="true" />
    </commentGenerator>

    <!-- 数据库链接URL、用户名、密码 -->
    <jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    connectionURL="jdbc:sqlserver://192.168.0.152:1433;databaseName=deerChain"
    userId="sa"
    password="198745">
    </jdbcConnection>

    <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer true,把JDBC DECIMAL
    和 NUMERIC 类型解析为java.math.BigDecimal -->
    <javaTypeResolver>
    <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>

    <!-- 生成model模型,对应的包路径,以及文件存放路径(targetProject),targetProject可以指定具体的路径,如./src/main/java,
    也可以使用“MAVEN”来自动生成,这样生成的代码会在target/generatord-source目录下 -->
    <!--<javaModelGenerator targetPackage="com.joey.mybaties.test.pojo" targetProject="MAVEN"> -->
    <javaModelGenerator targetPackage="com.deerChain.entity"
    targetProject="./src/main/java">
    <property name="enableSubPackages" value="true" />
    <!-- 从数据库返回的值被清理前后的空格 -->
    <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <!--对应的mapper.xml文件 -->
    <sqlMapGenerator targetPackage="com/daoMapper"
    targetProject="./src/main/resources">
    <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <!-- 对应的Mapper接口类文件 -->
    <javaClientGenerator type="XMLMAPPER"
    targetPackage="com.deerChain.dao" targetProject="./src/main/java">
    <property name="enableSubPackages" value="true" />
    </javaClientGenerator>


    <!-- 列出要生成代码的所有表,这里配置的是不生成Example文件 -->
    <table tableName="CFC_EVALUATION" domainObjectName="CfcEvaluation"
    enableCountByExample="false"
    enableUpdateByExample="false"
    enableDeleteByExample="false"
    enableSelectByExample="false"
    selectByExampleQueryId="true">
    <property name="useActualColumnNames" value="false" />
    <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
    </table>


    <!-- <table tableName="%"
    enableCountByExample="false"
    enableDeleteByExample="false"
    enableSelectByExample="false"
    enableUpdateByExample="false"
    selectByExampleQueryId="true"
    >
    <property name="useActualColumnNames" value="false" />
    <generatedKey column="id" sqlStatement="Mysql" identity="true"/>
    </table> -->
    </context>
    </generatorConfiguration>

    3、调用main

    public static void main(String[] args) throws SQLException {

    Connection conn = (Connection) DriverManager.getConnection("mysql:\localhost:1520", "root", "root");
    PreparedStatement preStatement = (PreparedStatement) conn.prepareStatement("select distinct loan_type from loan where bank=?");
    preStatement.setString(1, "Citibank");



    // ResultSet result = preStatement.executeQuery();

    List<String> warnings = new ArrayList<String>();
    boolean overwrite = true;
    String genCfg = "/mbgConfiguration.xml";
    File configFile = new File(Test.class.getResource(genCfg).getFile());
    ConfigurationParser cp = new ConfigurationParser(warnings);
    Configuration config = null;
    try {
    config = cp.parseConfiguration(configFile);
    } catch (IOException e) {
    e.printStackTrace();
    } catch (XMLParserException e) {
    e.printStackTrace();
    }
    DefaultShellCallback callback = new DefaultShellCallback(overwrite);
    MyBatisGenerator myBatisGenerator = null;
    try {
    myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
    } catch (InvalidConfigurationException e) {
    e.printStackTrace();
    }
    try {
    myBatisGenerator.generate(null);
    } catch (SQLException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    } catch (InterruptedException e) {
    e.printStackTrace();
    }
    }

  • 相关阅读:
    Code Chef December Challenge 2018题解
    UOJ#419. 【集训队作业2018】圆形(格林公式)
    BZOJ2178: 圆的面积并(格林公式)
    LOJ#3052. 「十二省联考 2019」春节十二响(启发式合并)
    LOJ#3048. 「十二省联考 2019」异或粽子(trie树+堆)
    Code Chef MINPOLY(计算几何+dp)
    LOJ#3088. 「GXOI / GZOI2019」旧词(树剖+线段树)
    LOJ#3087. 「GXOI / GZOI2019」旅行者(最短路)
    P5816 [CQOI2010]内部白点
    P5590 赛车游戏
  • 原文地址:https://www.cnblogs.com/haoxiu1004/p/10985221.html
Copyright © 2011-2022 走看看