逆向工程
Posted wanglzstudy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向工程相关的知识,希望对你有一定的参考价值。
1、简介
MBG:Mybatis Generator(代码生成器)
文档http://mybatis.org/generator/configreference/xmlconfig.html
逆向工程:
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 源码分析 )(代码片段
Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段