zoukankan      html  css  js  c++  java
  • 数据库中的表批量映射为对象

      需要用到两个mybatis的generator和mysql驱动两个jar包,将这两个jar包添加为依赖。(例:mybatis-generator-core-1.3.5.jar,mysql-connector-java-5.1.45-bin.jar)

      配置generatorConfig.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>
    	<context id="testTables" targetRuntime="MyBatis3">
    		<commentGenerator>
    			<!-- 是否去除自动生成的注释 true:是 : false:否 -->
    			<property name="suppressAllComments" value="true" />
    		</commentGenerator>
    		<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
    		<jdbcConnection driverClass="com.mysql.jdbc.Driver"
    			connectionURL="jdbc:mysql://localhost:3306/elec"
    			userId="root"
    			password="2018">
    		</jdbcConnection>
    		<!--下为oracle数据库-->
    		<!-- <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:yycg" 
    			userId="yycg" password="yycg"> </jdbcConnection> -->
    
    		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 
    			和 NUMERIC 类型解析为java.math.BigDecimal -->
    		<javaTypeResolver>
    			<property name="forceBigDecimals" value="false" />
    		</javaTypeResolver>
    
    		<!-- targetProject:生成PO类的位置 -->
    		<javaModelGenerator targetPackage="com.itszt.domain"
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    			<!-- 从数据库返回的值被清理前后的空格 -->
    			<property name="trimStrings" value="true" />
    		</javaModelGenerator>
    		
    		<!-- targetProject:mapper映射文件生成的位置 -->
    		<!--<sqlMapGenerator targetPackage="com.itszt.mapper"-->
    			<!--targetProject=".src">-->
    			<!--<!– enableSubPackages:是否让schema作为包的后缀 –>-->
    			<!--<property name="enableSubPackages" value="false" />-->
    		<!--</sqlMapGenerator>-->
    		<!--<!– targetPackage:mapper接口生成的位置 –>-->
    		<!--<javaClientGenerator type="XMLMAPPER"-->
    			<!--targetPackage="com.itszt.mapper" targetProject=".src">-->
    			<!--<!– enableSubPackages:是否让schema作为包的后缀 –>-->
    			<!--<property name="enableSubPackages" value="false" />-->
    		<!--</javaClientGenerator>-->
    		<!-- 指定数据库表 -->
    		<table tableName="%"></table>
    		<!--<table tableName="t_order"></table>-->
    		<!--<table tableName="goods"></table>-->
    	</context>
    </generatorConfiguration>
    

      核心操作类:

    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.internal.DefaultShellCallback;
    import java.io.File;
    import java.util.ArrayList;
    import java.util.List;
    /**
     * 工具类,将数据库中的表批量映射为对象
     */
    public class Test {
        public static void main(String[] args) throws Exception{
            try {
                List<String> warnings = new ArrayList<String>();
                boolean overwrite = true;
                File configFile = new File("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);
                System.out.println("映射成功");
            } catch (Exception e) {
                System.out.println("映射失败");
                e.printStackTrace();
            } 
        }
    }  
  • 相关阅读:
    Mac OS X开发学习 -打开文件选择器并获取文件
    Mac OS X开发学习
    第三方开源
    Xcode操作
    Mac操作
    XCode6.1 错误
    ios 本地推送
    IOS 语法
    IOS 其他
    IOS 语法
  • 原文地址:https://www.cnblogs.com/lizhangyong/p/8630754.html
Copyright © 2011-2022 走看看