逆向工程

Posted wanglzstudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向工程相关的知识,希望对你有一定的参考价值。

1、简介

MBG:Mybatis Generator(代码生成器)

文档http://mybatis.org/generator/configreference/xmlconfig.html

逆向工程:

根据table,逆向分析数据表,自动生成javaBean -- dao -- dao.xml -- xxx

maven依赖

<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.5</version>
</dependency>

2、Java代码生成

 public static void main(String[] args) throws Exception {
     List<String> warnings = new ArrayList<String>();
     boolean overwrite = true;
     File configFile = new File("mbg.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("生成完毕");
 }

  

3、mbg.xml配置

MyBatis3生成没限制的各种动态条件查询

MyBatis3Simple:基础的增删改查,也就是不会生成xxxExample,mapper文件只有简单的增删改查

 

 <?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>
 ?
     <!--targetRuntime
             MyBatis3:生成没限制的各种动态条件查询
             MyBatis3Simple:基础的增删改查
     -->
     <context id="DB2Tables" targetRuntime="MyBatis3">
         <commentGenerator>
             <property name="suppressDate" value="true" />
             <!-- 是否去除自动生成的注释 true:是 : false:否 -->
             <property name="suppressAllComments" value="true" />
         </commentGenerator>
 ?
         <!--连接数据库-->
         <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                         connectionURL="jdbc:mysql://localhost:3306/springboot_crud"
                         userId="root"
                         password="admin">
         </jdbcConnection>
 ?
         <!--默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer
             为 true时把JDBC DECIMAL和 NUMERIC 类型解析为java.math.BigDecimal 主要是针对oracle数据库
         -->
         <javaTypeResolver >
             <property name="forceBigDecimals" value="false" />
         </javaTypeResolver>
 ?
         <!--生成pojo
             targetPackage:生成的pojo放哪个包下
             targetProject:放那个工程下
         -->
         <javaModelGenerator targetPackage="com.wanglz.pojo" targetProject="srcmainjava">
             <property name="enableSubPackages" value="true" />
             <property name="trimStrings" value="true" />
         </javaModelGenerator>
 ?
         <!--sql映射文件生成器 , 指定生成xml文件的地方 -->
         <sqlMapGenerator targetPackage="mybatismapper"  targetProject="srcmain
esources">
             <property name="enableSubPackages" value="true" />
         </sqlMapGenerator>
 ?
         <!--dao接口生成的地方-->
         <javaClientGenerator type="XMLMAPPER" targetPackage="com.wanglz.dao"  targetProject="srcmainjava">
             <property name="enableSubPackages" value="true" />
         </javaClientGenerator>
 ?
         <!--table指定逆向生成那个数据表
             tableName:数据表名,
             domainObjectName:对应这个表的对象名
         -->
         <table  tableName="user" domainObjectName="User" > </table>
         <table  tableName="employee" domainObjectName="Employee" > </table>
         <table  tableName="department" domainObjectName="Department" > </table>
 ?
     </context>
 </generatorConfiguration>

  

 

以上是关于逆向工程的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向ART 脱壳 ( DexClassLoader 脱壳 | DexClassLoader 构造函数 | 参考 Dalvik 的 DexClassLoader 类加载流程 )(代码片段

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段

201555332盛照宗—网络对抗实验1—逆向与bof基础

Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段

20155201 李卓雯 《网络对抗技术》实验一 逆向及Bof基础