• 使用mybatis-generator-core自动生成代码


    SSM框架可以使用mybatis-generator-core-1.3.2.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/crm" userId="root"
    			password="1111"> 
    		</jdbcConnection> 
    		  <!-- 数据库连接配置 sqlserver-->
      		<!--<jdbcConnection driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver"
                connectionURL="jdbc:sqlserver://gsdy.eicp.net:8633;databasename=qkmls"
                userId="sa"
                password="sa@20170410" />-->
    		
    		<!--<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.ma.core.po"
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    			<!-- 从数据库返回的值被清理前后的空格 -->
    			<property name="trimStrings" value="true" />
    		</javaModelGenerator>
            <!-- targetProject:mapper映射文件生成的位置 -->
    		<sqlMapGenerator targetPackage="com.ma.mapper" 
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</sqlMapGenerator>
    		<!-- targetPackage:mapper接口生成的位置 -->
    		<javaClientGenerator type="XMLMAPPER"
    			targetPackage="com.ma.core.dao" 
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</javaClientGenerator>
    		<!-- 指定数据库表 -->
    		<table tableName="customer" schema=""/>
    		<table tableName="sys_user" schema=""/>
    		<table tableName="base_dict" schema=""/>
    
    			<!-- <table schema="" tableName="T_Qk_Orders"></table>
    			<table schema="" tableName="T_Qk_Orderitem"></table>
    			<table schema="" tableName="T_Qk_Amount"></table> -->
    		<!--<table schema="" tableName="tb_content"></table>
    			<table schema="" tableName="tb_content_category"></table>
    			<table schema="" tableName="tb_item"></table>
    			<table schema="" tableName="tb_item_cat"></table>
    			<table schema="" tableName="tb_item_desc"></table>
    			<table schema="" tableName="tb_item_param"></table>
    			<table schema="" tableName="tb_item_param_item"></table>
    			<table schema="" tableName="tb_order"></table>
    			<table schema="" tableName="tb_order_item"></table>
    			<table schema="" tableName="tb_order_shipping"></table>
    			<table schema="" tableName="tb_user"></table> -->
    
    	</context>
    </generatorConfiguration>
    
    

    GeneratorSqlmap.java使用代码

    package com.ma.common.utils;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.mybatis.generator.api.MyBatisGenerator;
    import org.mybatis.generator.config.Configuration;
    import org.mybatis.generator.config.xml.ConfigurationParser;
    import org.mybatis.generator.exception.XMLParserException;
    import org.mybatis.generator.internal.DefaultShellCallback;
    
    public class GeneratorSqlmap {
    
    	public void generator() throws Exception{
    
    		List<String> warnings = new ArrayList<String>();
    		boolean overwrite = true;
    		//指定 逆向工程配置文件
    		File configFile = new File("resource/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);
    
    	} 
    	public static void main(String[] args) throws Exception {
    		try {
    			GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
    			generatorSqlmap.generator();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		
    	}
    
    }
    
    

    小结

    把上面的配置文件和代码,放到一个可以运行的项目下运行就可以了。根据自己的需求配置不同的数据源和生成代码的位置。

  • 相关阅读:
    和菜鸟一起学android4.0.3源码之硬件gps简单移植
    Android学习笔记(三一):线程:Message和Runnable
    Android Runnable 运行在那个线程
    Android 的消息队列模型
    iOS开发UI篇—iOS开发中三种简单的动画设置
    ios开发UI篇—在ImageView中添加按钮以及Tag的参数说明
    ios开发UI篇—Kvc简单介绍
    iOS开发UI篇—从代码的逐步优化看MVC
    iOS开发UI篇—字典转模型
    iOS开发UI篇—九宫格坐标计算
  • 原文地址:https://www.cnblogs.com/black-spike/p/7872941.html
Copyright © 2020-2023  润新知