zoukankan      html  css  js  c++  java
  • mybatis的逆向工程

    一、mybatis逆向工程

    由官方自动生成dao mapper.xml pojo等文件
    步骤:
    1)、导入jar包:

    • mybatis-generator-core-1.3.6 代码生成器的核心包
    • mysql-connector-java-5.1.28-bin.jar 连接数据库
    • mybatis-3.2.3.jar

    2)、创建一个配置文件,在项目的根目录下面:generatorConfig.xml

    <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/pinyougoudb" 
    			userId="root"
    			password="root">
    		</jdbcConnection>
    
    		<!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
    			NUMERIC 类型解析为java.math.BigDecimal -->
    		<javaTypeResolver>
    			<property name="forceBigDecimals" value="false" />
    		</javaTypeResolver>
    
    		<!-- targetProject:生成pojo类的位置 
    		 targetPackage:pojo生成的包名
    		 targetProject:pojo生成的目录
    		-->
    		<javaModelGenerator targetPackage="com.pinyougou.pojo"
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    			<!-- 从数据库返回的值被清理前后的空格 -->
    			<property name="trimStrings" value="true" />
    		</javaModelGenerator>
            <!-- 
            targetPackage:Mapper生成的包
            targetProject:mapper映射文件生成的位置 
            -->
    		<sqlMapGenerator targetPackage="com.pinyougou.mapper" 
    			targetProject=".
    esource">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</sqlMapGenerator>
    		
    		<!-- targetPackage:mapper接口生成的位置 -->
    		<javaClientGenerator type="XMLMAPPER"
    			targetPackage="com.pinyougou.mapper" 
    			targetProject=".src">
    			<!-- enableSubPackages:是否让schema作为包的后缀 -->
    			<property name="enableSubPackages" value="false" />
    		</javaClientGenerator>
    		
    		<!-- 数据库中可能有多个表,指定需要生成的数据库表 -->
    		<table schema="" tableName="tb_address"></table>
    		<table schema="" tableName="tb_areas"></table>
    		
    		<!-- 有些表的字段需要指定java类型
    		<table schema="" tableName="">
    			<columnOverride column="" javaType="" />
    		</table> -->
    	</context>
    </generatorConfiguration>
    

    3)、编写一个测试类:使用官方的格式代码生成

    public void generator() throws Exception{
    		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);
    
    } 
    
    public static void main(String[] args) throws Exception {
    	try {
    		GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
    		generatorSqlmap.generator();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    		
    }
  • 相关阅读:
    strcpy和memcpy的区别《转载》
    C++数组引用
    关于C++中继承、重载、掩盖 《转载》
    对于js原型和原型链继承的简单理解(第三种,复制继承)
    对于js原型和原型链继承的简单理解(第二种,对象冒充)
    腾讯的一道js面试题(原型)
    面试题,自己写写dome总是好的
    对于js原型和原型链继承的简单理解(第一种,原型链继承)
    html+css布局小练习w3cfuns
    C#泛型列表List<T>基本用法总结
  • 原文地址:https://www.cnblogs.com/shanggushenlong/p/11186187.html
Copyright © 2011-2022 走看看