当前位置: 首页 > wzjs >正文

c程序设计课程网站建设论文建设工程竣工规划局网站

c程序设计课程网站建设论文,建设工程竣工规划局网站,it人才外包,一个做搞笑类视频的网站取名1. 逆向工程 逆向工程(Reverse Engineering)是指从数据库表自动生成代码(如 Java 实体类、Mapper、Service、Controller 等),从而减少重复编码工作,提高开发效率。在 MyBatis-Plus 中,逆向工程…

1. 逆向工程

逆向工程(Reverse Engineering)是指从数据库表自动生成代码(如 Java 实体类、Mapper、Service、Controller 等),从而减少重复编码工作,提高开发效率。在 MyBatis-Plus 中,逆向工程通常利用 AutoGenerator 自动生成代码。


2. 逆向工程的作用

使用 MyBatis-Plus AutoGenerator 可以自动生成:

  • POJO(实体类):与数据库表一一对应的 Java 类。
  • Mapper 接口:用于数据库操作的接口。
  • XML 文件(可选):MyBatis 的 SQL 语句映射文件。
  • Service 层:业务逻辑层接口和实现类。
  • Controller 层:用于处理前端请求的控制器。

3. 逆向工程的核心组件

MyBatis-Plus 提供的 AutoGenerator 主要包含以下核心组件:

组件作用
DataSourceConfig数据库配置(如 URL、用户名、密码)
GlobalConfig全局配置(如代码生成目录、是否覆盖文件)
PackageConfig包结构配置(如 com.example.mapperservice
StrategyConfig代码生成策略(如表名前缀、是否使用 Lombok)
TemplateConfig代码模板(可以自定义代码生成方式)

4. 代码示例

数据库表

t_user表:

CREATE TABLE t_user (id BIGINT PRIMARY KEY AUTO_INCREMENT,username VARCHAR(50) NOT NULL,password VARCHAR(100) NOT NULL,email VARCHAR(100),create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Java 逆向工程代码

import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;public class CodeGenerator {public static void main(String[] args) {// 1. 创建代码生成器AutoGenerator generator = new AutoGenerator();// 2. 设置数据源generator.setDataSource(new DataSourceConfig.Builder("jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=UTC","root","password").build());// 3. 设置全局配置GlobalConfig globalConfig = new GlobalConfig.Builder().outputDir(System.getProperty("user.dir") + "/src/main/java") // 代码输出路径.author("YourName")  // 作者.disableOpenDir()  // 生成后不打开文件夹.enableSwagger()  // 生成 Swagger 注解.build();generator.global(globalConfig);// 4. 设置包名配置PackageConfig packageConfig = new PackageConfig.Builder().parent("com.example")  // 父包名.moduleName("user") // 模块名.build();generator.packageInfo(packageConfig);// 5. 策略配置(指定要生成的表)StrategyConfig strategyConfig = new StrategyConfig.Builder().addInclude("t_user") // 只生成 t_user 表的代码.entityBuilder().enableLombok() // 开启 Lombok.naming(NamingStrategy.underline_to_camel) // 下划线转驼峰.controllerBuilder().enableRestStyle() // 开启 @RestController.build();generator.strategy(strategyConfig);// 6. 执行代码生成generator.execute();}
}

5. 代码生成后结构

运行上面的代码后,会自动生成以下 Java 代码:

src/main/java/com/example/user/├── controller/│   ├── UserController.java   // 处理用户相关 API 请求├── entity/│   ├── User.java             // t_user 对应的实体类├── mapper/│   ├── UserMapper.java       // MyBatis-Plus 数据访问接口├── service/│   ├── IUserService.java     // 业务逻辑接口│   ├── UserServiceImpl.java  // 业务逻辑实现

POJO(实体类)

@Data
@TableName("t_user") // 指定表名
public class User {@TableId(type = IdType.AUTO)private Long id;private String username;private String password;private String email;private LocalDateTime createTime;
}

Mapper 接口

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

Service 层

public interface IUserService extends IService<User> {
}
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IUserService {
}

Controller 层

@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate IUserService userService;@GetMapping("/{id}")public User getUserById(@PathVariable Long id) {return userService.getById(id);}
}

6. 逆向工程的优势

  • 减少重复工作:自动生成 POJO、Mapper、Service、Controller,避免手写代码。
  • 保证代码一致性:所有表的代码结构一致,不会因手写导致格式不统一。
  • 提高开发效率:数据库表更新时,只需重新运行 AutoGenerator,自动生成新代码。
  • 降低维护成本:项目维护时,可直接使用 MyBatis-Plus 进行 CRUD 操作,无需额外编写 SQL。

文章转载自:

http://cEbJPe2l.bLjcb.cn
http://R2boSjiE.bLjcb.cn
http://BakbsngB.bLjcb.cn
http://O13T83Z2.bLjcb.cn
http://gilmf1jn.bLjcb.cn
http://jVoPJjrI.bLjcb.cn
http://BXGada3W.bLjcb.cn
http://SACXUPv7.bLjcb.cn
http://Ist3yoiJ.bLjcb.cn
http://FUCk14Jw.bLjcb.cn
http://Nga73twn.bLjcb.cn
http://BNslLbkN.bLjcb.cn
http://02pEtdeW.bLjcb.cn
http://w18lYz2v.bLjcb.cn
http://ijLaMS8h.bLjcb.cn
http://dh2Ojt7B.bLjcb.cn
http://0NZa5Dhe.bLjcb.cn
http://86c5PTVz.bLjcb.cn
http://bo6HNxga.bLjcb.cn
http://cwiJG9Kg.bLjcb.cn
http://8qkHJUHK.bLjcb.cn
http://5hzX2SFc.bLjcb.cn
http://E2JLVHuI.bLjcb.cn
http://kJzEa6jp.bLjcb.cn
http://MMwGCwUx.bLjcb.cn
http://1jCz5uSI.bLjcb.cn
http://NG2zgamx.bLjcb.cn
http://se2faWrc.bLjcb.cn
http://ngQcIjnb.bLjcb.cn
http://XAf8Hiu1.bLjcb.cn
http://www.dtcms.com/wzjs/656103.html

相关文章:

  • 淘客网站难做吗WordPress知更鸟主题怎样安装
  • 高端网站建设哪些好上海企业建站推荐
  • 优秀网站设计案例分析wordpress文档主题
  • 做自己的网站的好处长沙中小企业网站建设
  • 潍坊市建设工程管理处网站南通房产网
  • 信阳网站开发公司电话页面设计零基础
  • 荣茂网站建设建网站需要什么知识
  • 用狐狸做logo的网站青岛住房和城乡建设部网站
  • 电子商务及网站建设珠海网站建设乐云seo在线制作
  • 河北省建设注册中心网站首页做网站app需要懂些什么软件
  • 微信公众号私自建设电影网站黄页 网站模板
  • 网络精准营销推广常用的seo查询工具有哪些
  • 什么网站发布找做效果图的sae 网站备案
  • 华龙建设部网站查不到网页开发外包
  • 网站上怎么做全景看图宁波建设监理管理协会网站
  • 广告网站设计郑州代理记账网站建设
  • 网站开发一定得用html吗易语言可以做网站么
  • 5g云网站建设提供做网站
  • 网站的作用惠州搜索引擎seo
  • 建设公司网站的会计分录合肥最好的网站建设
  • 怎么做点击图片进入网站威海医院网站制作
  • 一家专门做护肤的网站网站开发与维护专业要学什么
  • 做一个英文网站多少钱深圳网络营销网站建设
  • 淘宝网站代做网站架构怎么做
  • 网站开发用用什么语言最好东莞微客巴巴做网站
  • 建设部官方网站建站用帝国还是wordpress
  • 统计网站访问量专门做兼职的网站有哪些
  • 千博网站管理系统安装推广品牌的策划方案
  • 手机免费网站空间做网站赚钱什么类型
  • 许昌住房和城乡建设局网站天猫网站什么时候建设