package com.example.dl_mp_generator;
import com.baomidou.mybatisplus.annotation.IdType;
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;
public class Generator {
public static void main(String[] args) {
//创建生成器对象
AutoGenerator autoGenerator = new AutoGenerator();
//配置数据源
DataSourceConfig dataSource = new DataSourceConfig();
dataSource.setDriverName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/mybatisplus_db?serverTimezone=UTC");
dataSource.setUsername("root");
dataSource.setPassword("root");
autoGenerator.setDataSource(dataSource);
//设置全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java"); //设置代码生成位置
globalConfig.setOpen(true); //设置生成完毕后是否打开生成代码所在的目录
globalConfig.setAuthor("东离与糖宝"); //设置作者
globalConfig.setFileOverride(true); //设置是否覆盖原始生成的文件
globalConfig.setMapperName("%sDao"); //设置数据层接口名,%s为占位符,指代模块名称
globalConfig.setIdType(IdType.ASSIGN_ID); //设置Id生成策略
autoGenerator.setGlobalConfig(globalConfig);
//设置包名相关配置
PackageConfig packageInfo = new PackageConfig();
packageInfo.setParent("com.aaa"); //设置生成的包名,与代码所在位置不冲突,二者叠加组成完整路径
packageInfo.setEntity("domain"); //设置实体类包名
packageInfo.setMapper("dao"); //设置数据层包名
autoGenerator.setPackageInfo(packageInfo);
// //策略设置
// StrategyConfig strategyConfig = new StrategyConfig();
// strategyConfig.setInclude("tbl_user"); //设置当前参与生成的表名,参数为可变参数
// strategyConfig.setTablePrefix("tbl_"); //设置数据库表的前缀名称,模块名 = 数据库表名 - 前缀名 例如: User = tbl_user - tbl_
// strategyConfig.setRestControllerStyle(true); //设置是否启用Rest风格
// strategyConfig.setVersionFieldName("version"); //设置乐观锁字段名
// strategyConfig.setLogicDeleteFieldName("deleted"); //设置逻辑删除字段名
// strategyConfig.setEntityLombokModel(true); //设置是否启用lombok
// autoGenerator.setStrategy(strategyConfig);
//执行生成器
autoGenerator.execute();
}
}
"mybatis plus系列教程博客参考源码-东离与糖宝"涉及的知识点主要集中在MyBatis Plus(简称MBP)这一强大的MyBatis扩展框架上。MyBatis Plus是一个为MyBatis框架提供了简单 CRUD 操作的工具,它简化了对数据库的操作,使得开发者无需编写大量的SQL代码,提高了开发效率。 MyBatis Plus的基本概念: 1. MyBatis Plus是对MyBatis的轻量级扩展,保留了MyBatis原有的特性。 2. MBP提供了全自动的CRUD操作,包括单表增删改查、条件查询、分页查询、批量插入等。 3. 它还支持自定义SQL、存储过程以及高级查询,同时避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 MyBatis Plus的核心功能: 1. **自动化CRUD**:MBP通过实体类和数据库表进行映射,自动创建对应的SQL语句,极大地减少了开发工作量。 2. **条件构造器**:使用QueryWrapper或LambdaQueryWrapper可以方便地构建复杂的查询条件,无需手动拼接SQL。 3. **EntityWrapper**:用于动态生成SQL,可以根据传入的对象属性自动添加WHERE条件。 4. **主键生成策略**:MBP内置了多种主键生成策略,如Identity(自动增长),雪花算法等。 5. **批量操作**:支持批量插入、更新数据,提高数据库操作性能。 6. **乐观锁**:支持在更新时自动添加版本号或时间戳,实现乐观锁机制。 7. **填充公共字段**:在插入或更新时,可以自动填充创建人、修改人、创建时间、修改时间等公共字段。 中的"博客参考源码"意味着该压缩包可能包含了某个博主在讲解MyBatis Plus教程时使用的示例代码。这些源码通常会涵盖MBP的常用功能和应用场景,帮助读者理解如何在实际项目中应用MyBatis Plus。 "mybatis 课程资源 软件/插件"表明这是一份教学资源,可能包含MyBatis Plus的课程讲解材料,以及与之相关的软件或插件信息。MyBatis Plus作为一款软件/插件,它可以无缝集成到Java项目中,配合IDEA等开发工具的插件,可以提供更便捷的开发体验。 【压缩包子文件的文件名称列表】"DL_remp"可能是源码文件夹或者一个特定的项目文件,具体内容可能包括Java源代码、配置文件、数据库脚本等,用于演示MyBatis Plus的使用方法和技巧。读者可以通过阅读和运行这些代码,深入学习MyBatis Plus的实战应用。 这个压缩包提供了一个关于MyBatis Plus的实战教程,通过源代码的学习,可以帮助开发者掌握MyBatis Plus的精髓,提升他们在数据库操作方面的技能。
























































































































- 1
- 2

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整


- 粉丝: 1w+
- 资源: 11
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 全国计算机等级考试二级openGauss数据库程序设计考试大纲解析(2025年版)
- dsfsdasdasdasd
- Visual C#数据库项目案例导航企业客户服务系统源码
- java面向对象的常用类详细介绍.pdf
- 全国计算机等级考试(NCRE)二级Web程序设计考试大纲解析与备考指南
- 深度学习入门-基于Python的理论与实现
- 全国计算机等级考试(NCRE)二级WPS Office高级应用与设计考试大纲解析(2025年版)
- DeepSeek AI 自然语言处理与语音合成模型的本地及云端部署指南
- 16位海明解码电路设计:基于Verilog的错误检测与纠正实现
- 全国计算机等级考试(NCRE)二级公共基础知识考试大纲解析(2025年版)
- 全国计算机等级考试三级数据库技术考试大纲解析及备考指南(2025年版)
- 西门子S7-1200 PLC在立体仓库码垛机中的综合应用:变频器、触摸屏、机器人与视觉相机的集成控制
- Java面试黄金宝典:二叉树与链表的经典算法解析
- 全国计算机等级考试(NCRE)四级计算机组成与接口考试大纲解析(2025年版)
- 基于51单片机的全自动洗衣机控制系统解析及其源码实现
- ssh.zet.unity.dll2020.2


