在软件开发领域,Java作为一种广泛使用的编程语言,其强大的功能和丰富的生态系统使其成为了许多开发者的首选。然而,随着项目规模的不断扩大,重复的代码编写工作逐渐成为开发者的负担。为了提高开发效率,减少重复劳动,许多高效的代码自动生成框架应运而生。本文将为您揭秘5款在Java领域内广受欢迎的代码自动生成框架。
1. MyBatis Generator
MyBatis Generator是一款基于MyBatis的代码生成器,它能够根据数据库表结构自动生成相应的Mapper接口、XML映射文件和实体类。通过配置XML文件,开发者可以轻松地生成所需的代码。
1.1 安装
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
1.2 使用示例
”`java public class Generator {
public static void main(String[] args) throws Exception {
List<String> warnings = new ArrayList<String>();
boolean overwrite = true;
Configuration config = new Configuration();
config.setJdbcTypeForNull(JdbcType OTHER);
config.setGeneratePojosWithPrimaryKeyOnly(false);
config.setTargetRuntime("MyBatis3Simple");
config.addDataSource("dataSource", "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC", "root", "password");
config.addPlugin(new RemapperPlugin());
config.addPlugin(new CaseInsensitiveLikePlugin());
config.addPlugin(new ColumnOverridePlugin());
config.addPlugin(new SelectPrefixPlugin());
config.addPlugin(new SelectSuffixPlugin());
config.addPlugin(new SelectLimitPlugin());
config.addPlugin(new SelectTopPlugin());
config.addPlugin(new SelectPagePlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchInsertPlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchUpdatePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeletePlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchDeleteByRowPlugin());
config.addPlugin(new BatchUpdateByRowPlugin());
config.addPlugin(new BatchUpdateByRow
