小说网站怎么做app公司论坛网站建设规划书
2026/3/28 3:22:25 网站建设 项目流程
小说网站怎么做app,公司论坛网站建设规划书,前端技术栈有哪些,计算机基础网页制作题引言在Java后端开发中#xff0c;数据库操作是必不可少的环节。传统的MyBatis开发需要手动编写实体类、Mapper接口、Service接口以及对应的XML文件#xff0c;这个过程不仅繁琐#xff0c;而且容易出现错误。MyBatis-Plus#xff08;简称MP#xff09;作为MyBatis的增强工…引言在Java后端开发中数据库操作是必不可少的环节。传统的MyBatis开发需要手动编写实体类、Mapper接口、Service接口以及对应的XML文件这个过程不仅繁琐而且容易出现错误。MyBatis-Plus简称MP作为MyBatis的增强工具提供了强大的代码生成器功能可以帮助开发者一键生成所需的所有代码极大地提高了开发效率。本文将详细介绍如何使用MyBatis-Plus的代码生成器深入解析每个配置项的作用和使用方法并提供完整的实战案例。一、Maven依赖配置要使用MyBatis-Plus的代码生成器我们首先需要在项目的pom.xml文件中添加相应的Maven依赖。以下是需要的核心依赖1. MyBatis-Plus核心依赖dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3.1/version /dependency2. MyBatis-Plus代码生成器依赖dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-generator/artifactId version3.5.3.1/version /dependency3. 数据库驱动依赖以MySQL为例dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.33/version scoperuntime/scope /dependency4. 模板引擎依赖可选如果需自定义代码生成模板可以添加模板引擎依赖例如Freemarkerdependency groupIdorg.freemarker/groupId artifactIdfreemarker/artifactId version2.3.32/version /dependency二、MPDBConfig.java代码解析1. 包导入部分import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;这里导入了MyBatis-Plus代码生成器所需的核心类DbType数据库类型枚举AutoGenerator代码生成器主类DataSourceConfig数据源配置类GlobalConfig全局配置类PackageConfig包名策略配置类StrategyConfig生成策略配置类NamingStrategy命名策略枚举2. 主方法入口public static void main(String[] args) { // 代码生成器 AutoGenerator autoGenerator new AutoGenerator(); // 全局配置 GlobalConfig gc new GlobalConfig(); // ... 配置内容 autoGenerator.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc new DataSourceConfig(); // ... 配置内容 autoGenerator.setDataSource(dsc); // 策略配置 StrategyConfig strategy new StrategyConfig(); // ... 配置内容 autoGenerator.setStrategy(strategy); // 包名策略配置 PackageConfig pc new PackageConfig(); // ... 配置内容 autoGenerator.setPackageInfo(pc); // 执行逆向生成 autoGenerator.execute(); }这是代码的主入口创建了AutoGenerator对象并依次配置了全局配置、数据源配置、策略配置和包名策略配置最后执行生成操作。3. 全局配置详解GlobalConfig gc new GlobalConfig(); String projectPath System.getProperty(user.dir); gc.setOutputDir(projectPath /src/main/java); gc.setAuthor(xxx); // 设置作者 gc.setFileOverride(true); // 多次生成是否覆盖之前的 // gc.setActiveRecord(true); // 设置是否开启AR模式 // gc.setIdType(IdType.ASSIGN_ID); // 设置主键策略 gc.setServiceName(%sService); // 设置service名称默认为IxxxService去掉I gc.setBaseResultMap(true); // 生成的mapper.xml中包含基本的ResultMap结果集 gc.setBaseColumnList(true); // 生成基本的sql查询片段 gc.setOpen(false); // gc.setSwagger2(true); 实体属性 Swagger2 注解关键配置项解析setOutputDir设置代码生成的输出目录这里使用了System.getProperty(user.dir)获取当前项目根目录setAuthor设置生成代码的作者信息setFileOverride设置是否覆盖已存在的文件true表示覆盖false表示不覆盖setServiceName设置Service接口的命名规则%sService表示生成的Service接口名不带前缀I默认为I%sServicesetBaseResultMap设置是否生成基本的ResultMap用于查询结果映射setBaseColumnList设置是否生成基本的SQL查询片段方便进行字段选择setOpen设置生成代码后是否自动打开输出目录4. 数据源配置详解DataSourceConfig dsc new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setUrl(jdbc:mysql://127.0.0.1:3306/imooc-hire?useUnicodetrueuseSSLfalsecharacterEncodingutf8); dsc.setDriverName(com.mysql.cj.jdbc.Driver); dsc.setUsername(root); dsc.setPassword(123456);关键配置项解析setDbType设置数据库类型这里选择的是MySQLsetUrl设置数据库连接URL包含了数据库地址、端口、数据库名以及连接参数setDriverName设置数据库驱动类名MySQL 8.0使用com.mysql.cj.jdbc.DriversetUsername设置数据库用户名setPassword设置数据库密码5. 策略配置详解StrategyConfig strategy new StrategyConfig(); strategy.setCapitalMode(true); // 开启全局大小写(true: 大写) strategy.setNaming(NamingStrategy.underline_to_camel); // 下划线转驼峰命名 strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 下划线转驼峰命名 strategy.setInclude(users, admin);关键配置项解析setCapitalMode设置是否开启全局大写命名setNaming设置表名的命名策略这里选择的是下划线转驼峰setColumnNaming设置字段名的命名策略同样选择下划线转驼峰setInclude设置需要生成代码的表名可以指定多个表名6. 包名策略配置详解PackageConfig pc new PackageConfig(); pc.setParent(com.xxx); pc.setEntity(pojo); pc.setMapper(mapper); pc.setXml(mapper.xml); pc.setService(service); pc.setServiceImpl(service.impl); // pc.setController(null);关键配置项解析setParent设置生成代码的父包名setEntity设置实体类的包名setMapper设置Mapper接口的包名setXml设置Mapper XML文件的包名setService设置Service接口的包名setServiceImpl设置Service实现类的包名setController设置Controller类的包名如果设置为null则不生成Controller类三、代码生成器的高级用法1. 自定义模板如果默认模板不符合需求可以使用自定义模板。例如TemplateConfig templateConfig new TemplateConfig() .setController(/templates/controller.java) .setEntity(/templates/entity.java) .setMapper(/templates/mapper.java) .setXml(/templates/mapper.xml) .setService(/templates/service.java) .setServiceImpl(/templates/serviceImpl.java); autoGenerator.setTemplate(templateConfig);2. 自定义生成字段可以通过配置字段筛选规则只生成特定字段的代码StrategyConfig strategy new StrategyConfig(); strategy.setExcludeColumns(create_time, update_time); // 排除不需要生成的字段3. 自定义生成规则可以通过配置StrategyConfig的其他方法来定制生成规则例如strategy.setRestControllerStyle(true); // 生成RestController风格的Controller strategy.setControllerMappingHyphenStyle(true); // Controller的URL使用连字符风格 strategy.setVersionFieldName(version); // 设置乐观锁字段 strategy.setLogicDeleteFieldName(deleted); // 设置逻辑删除字段四、使用注意事项1. 数据库连接配置确保数据库连接URL、用户名和密码正确并且数据库服务器正在运行网络连接正常。2. 表名和字段名匹配确保配置中的表名和字段名与数据库中的实际表名和字段名一致否则可能导致生成失败或生成的代码不正确。3. 代码覆盖问题如果设置了setFileOverride(true)则生成的代码会覆盖已存在的文件建议在生成前备份重要代码。4. 生成目录权限确保生成代码的目录有写入权限否则可能导致生成失败。五、完整代码展示import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class MPDBConfig { public static void main(String[] args) { // 代码生成器 AutoGenerator autoGenerator new AutoGenerator(); // 全局配置 GlobalConfig gc new GlobalConfig(); String projectPath System.getProperty(user.dir); gc.setOutputDir(projectPath /src/main/java); gc.setAuthor(xxx); // 设置作者 gc.setFileOverride(true); // 多次生成是否覆盖之前的 // gc.setActiveRecord(true); // 设置是否开启AR模式 // gc.setIdType(IdType.ASSIGN_ID); // 设置主键策略 gc.setServiceName(%sService); // 设置service名称默认为IxxxService去掉I gc.setBaseResultMap(true); // 生成的mapper.xml中包含基本的ResultMap结果集 gc.setBaseColumnList(true); // 生成基本的sql查询片段 gc.setOpen(false); // gc.setSwagger2(true); 实体属性 Swagger2 注解 autoGenerator.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setUrl(jdbc:mysql://127.0.0.1:3306/imooc-hire?useUnicodetrueuseSSLfalsecharacterEncodingutf8); // dsc.setSchemaName(public); dsc.setDriverName(com.mysql.cj.jdbc.Driver); dsc.setUsername(root); dsc.setPassword(123456); autoGenerator.setDataSource(dsc); // 策略配置 StrategyConfig strategy new StrategyConfig(); strategy.setCapitalMode(true); // 开启全局大小写(true: 大写) strategy.setNaming(NamingStrategy.underline_to_camel); // 下划线转驼峰命名 strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 下划线转驼峰命名 // strategy.setInclude(scanner(表名多个英文逗号分割).split(,)); strategy.setInclude(users); strategy.setInclude(admin); autoGenerator.setStrategy(strategy); // 包名策略配置 PackageConfig pc new PackageConfig(); pc.setParent(com.xxx); pc.setEntity(pojo); pc.setMapper(mapper); pc.setXml(mapper.xml); pc.setService(service); pc.setServiceImpl(service.impl); // pc.setController(null); autoGenerator.setPackageInfo(pc); // 执行逆向生成 autoGenerator.execute(); } }六、总结MyBatis-Plus的代码生成器是一个非常强大的工具可以极大地提高开发效率。通过本文的介绍你应该已经了解了如何使用代码生成器以及如何根据自己的需求进行配置。使用代码生成器可以帮助我们减少重复劳动避免手动编写代码时可能出现的错误同时保持代码风格的一致性。希望本文对你有所帮助祝你在使用MyBatis-Plus代码生成器时取得成功

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询