JAVA根据数据库表名创建CRUD(Mybatis-Plus)

MyBatis-Plus动态表名处理策略 另一种方式是在Mapper接口中自定义方法,并在方法中通过字符串拼接或// 在Service层中调用。 阅读详情

JAVA根据数据库表名创建CRUD(Mybatis-Plus)

1、创建maven项目

在这里插入图片描述

在这里插入图片描述

2、配置pom文件引入jar包

<dependencies>
        <!-- mybatisplus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.3.0</version>
        </dependency>
        <!-- mybatisplus代码生成器 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.0</version>
        </dependency>
        <!-- velocity模板引擎 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.19</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>RELEASE</version>
            <scope>compile</scope>
        </dependency>
</dependencies>

3、案例代码

package Utils;

import com.baomidou.mybatisplus.annotation.DbType;
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;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

/**
 * @Author dev-ycxc
 * @Author dev-ycxc
 * @Description TODO
 * @Date 2022/9/13 10:32
 * @Version
 */
public class MybatisCrud {

    private static final String URL = "jdbc:mysql://localhost:3306/dev_enterprise_repair_db?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "root";
    private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
    private static final String AUTHOR = "WangXingCheng";

    public static void main(String[] args) {

        // 1、创建代码生成器
        AutoGenerator mpg = new AutoGenerator();

        // 2、全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
        gc.setOutputDir(projectPath + "/src/main/java");
        gc.setAuthor(AUTHOR);//生成文件作者名
        gc.setOpen(false); //生成后是否打开资源管理器
        gc.setFileOverride(false); //重新生成时文件是否覆盖
        // 自定义文件命名,注意 %s 会自动填充表实体属性!
        gc.setServiceName("I%sService"); //%s作为占位符
        gc.setIdType(IdType.ID_WORKER_STR); //主键策略
        gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
        gc.setSwagger2(false);//开启Swagger2模式

        mpg.setGlobalConfig(gc);

        // 3、数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl(URL);
        dsc.setDriverName(DRIVER);
        dsc.setUsername(USERNAME);
        dsc.setPassword(PASSWORD);
        dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 4、包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName(null); //模块名
        pc.setParent("com.demo");
        pc.setController("controller");
        pc.setEntity("entity");
        pc.setService("service");
        pc.setMapper("mapper");
        mpg.setPackageInfo(pc);

        // 5、策略配置
        StrategyConfig strategy = new StrategyConfig();
        strategy.setInclude("zcx_sys_user");//对那一张表生成代码
        strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
        strategy.setTablePrefix("zcx_"); //生成实体时去掉表前缀

        strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
        strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作

        strategy.setRestControllerStyle(true); //restful api风格控制器
        strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符

        mpg.setStrategy(strategy);

        // 6、执行
        mpg.execute();
    }
}

4、测试结果

执行前
在这里插入图片描述
执行后
在这里插入图片描述

SpringBoot整合MyBatis-Plus:零XML实现高效CRUD 作为一名开发者,数据库操作是我们日常工作中不可或缺的部分。传统的MyBatis虽然强大,但需要编写大量XML映射文件,这在快速开发的今天显得效率不足。MyBatis-Plus(简称MP)作为MyBatis的增强工具,在保留MyBatis所有特性的基础上,极大地简化了开发流程。本文将带你全面了解如何在SpringBoot项目中整合MyBatis-Plus,实现零XML配置的高效CRUD操作。特性JPAMyBatisORM支持全自动ORM半自动ORMMyBatis增强SQL控制。 阅读详情

相关推荐

Java之Mybatis-Plus

Java之MyBatis-Plus

每天进步一点点... 3331

Java框架之MyBatis Plus

MyBatis Plus 是一个功能强大且易于使用的数据库访问框架,它不仅简化了 MyBatis 的使用难度,还提供了许多实用的功能。无论是对于新手还是经验丰富的开发者,MyBatis Plus 都是一个值得尝试的选择。通过上述的介绍和代码示例,希望能帮助你更好地理解和使用 MyBatis Plus。

一个老Java开发的自白 1641

三、SpringBoot项目中根据数据表自动生成entity\DAO\DTO\VO\QO\Convertor\service\service.impl\controller等基础CRUD代码

三、SpringBoot项目中根据数据表自动生成entity\DAO\DTO\VO\QO\Convertor\service\service.impl\controller等基础CRUD代码

funfan的博客 2455

springboot mybaits自动生成 crud 增删改查分页查 详细查 三层结构 带swagger h2数据库 mybatis 数据库

【代码】springboot mybaits自动生成 crud 增删改查分页查 详细查 三层结构 带swagger h2数据库 mybatis 数据库。

银河系天城知识宝库_技术专家蒋浩宇 477

K8s认证文件丢失的应急处理与恢复策略

本文详细介绍了Kubernetes(K8s)认证文件丢失时的应急处理与恢复策略。从快速诊断问题范围到不同场景的临时解决方案,再到深度恢复方案(无损重建、部分重置、完全重建),提供了全面的操作指南。同时强调了生产环境中的防丢失设计、高可用集群的特殊处理以及日常运维建议,帮助运维人员有效应对认证文件丢失的紧急情况。

weixin_33743248的博客 327

ABAP调用启信宝API

方法参数定义如下 源代码如下 method qxb_http_get. data:lv_url type string. "===============初始化=============================================== "获取http实例 cl_http_client=>create_by_destination( exporting destination = space importing

u012232542的博客 1311

还在手写CRUD代码?试试这款代码生成工具吧,彻底解放双手!

点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应用框架 Netty 源码解析消息中间件 RocketMQ 源码解析数据库中间件 Sharding-JDBC 和 MyCAT 源码解析作业调度中间件 Elast...

weixin_44421461的博客 473

开源DIY龙门架:从零构建可编程运动控制平台

运动控制是自动化与机器人技术的核心基础,它通过精确指令驱动执行机构,实现物体的定位与轨迹规划。其原理通常涉及控制器、驱动器、电机与传动机构的协同工作,核心价值在于将数字指令转化为精准的物理运动,从而解放人力并提升作业一致性。在工业自动化、桌面制造(如3D打印、激光雕刻)及教育机器人等领域应用广泛。本文聚焦于一个具体的工程实践案例:使用**铝型材**、**3D打印**零件、Arduino控制器及步进电机,从机械结构设计、电路连接到代码编写,手把手教你打造一个模块化、可扩展的开源龙门架系统。该系统不仅成本可控,

weixin_33168937的博客 618

逆向工程-生成增删改查(CRUD)接口

逆向工程这个东西就是为了减少程序员的工作量,说白了就是偷懒的,原代码可以直复制粘贴使用。

m0_71817461的博客 1110

【ros2】从零认识URDF:机器人模型描述的“说明书”

visual>子节点只负责机器人在RViz2中的可视化效果,不参与任何物理计算,就像给零件“穿衣服”。<origin>:定义零件的局部坐标系相对于连杆原点的位姿,参数xyz表示平移(单位:米),rpy表示旋转(单位:弧度,绕x→y→z轴旋转);<geometry>:定义零件的几何形状,支持四种基础形状+外部3D模型;<material>:定义零件的颜色,需要提前定义材质。常见几何形状示例-- 连杆名称:base_link(底座),全局唯一 --> < visual > <!

EnHengNa的博客 1611

STM32CubeMX Nucleo F767ZI 教程(1)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 官网上买了个NUCLEO F767ZI 的开发板,144引脚的芯片,https://www.st.com/content/st_com/zh/products/evaluation-tools/prod

fafuwxm 2029

Java_代码生成_crud代码生成器

前言 对于单个表的增删改查都是很固定的,总是手写没有太多意义,而且浪费时间,研究了一下mybatis-plus的代码生成器,可以直接使用他的代码生成器去生成 代码生成前置条件 依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2

Byron__的博客 1333

保姆级教程:在Ubuntu 22.04上从零安装SUMO并运行第一个交通仿真

本教程详细介绍了在Ubuntu 22.04系统上从零安装SUMO交通仿真软件并运行第一个仿真的完整流程。涵盖环境准备、PPA源安装、核心组件验证、首次仿真案例运行以及进阶配置技巧,特别针对netedit路网编辑器和地图格式转换等实用工具进行重点讲解,帮助用户快速掌握SUMO在交通仿真领域的应用。

weixin_30546189的博客 422

MyBatis plus与MyBatis分别实现简单的CRUD

通过MyBatis与MyBatis plus分别实现简单的CRUD,更加直观的区分它们之间的不同的编写风格。MyBatis SQL语句SQL语句封装在配置文件中,便于统一管理与维护;提供了动态SQL标签,支持编写动态SQL。以及提供映射标签,支持对象与数据库的ORM字段关系映射。访问数据库的 sql 语句存放于 mapper (或Dao) 包下的 xml 配置文件中。MyBatis plus SQL语句。

qq_35130745的博客 1914

Xilinx_JESD204B

Xilinx_JESD204B_AXI配置 说明:通过FPGA的高速数据接口JESD204B对AD9625进行高速采集。 环境:Vivado2018.3。 IP核:JESD204(7.2)。 参考手册:pg066_jesd204 v7.2。 资料以及IP_licence:JESD204B AXI协议资料:AXI 文章目录JESD204B概述JESD204B接口术语JESD204B 层JESD204B_AXI介绍AXI介绍JESD204B__AXI_Lite接口AXI-Lite接口介绍AXI-Lite接口信号

Crazzy_M的博客 1万+

第八届传智杯WPS智能办公能力挑战赛练习题库

本文是关于WPS Office软件操作知识的选择题汇总,内容涵盖WPS文字、表格和演示三大组件的常用功能。主要包括:云文档协同编辑、文本框插入、幻灯片打印设置、数据排序与筛选、函数应用(如SUMIF、COUNT)、动画效果设置、格式刷使用、页眉页脚设置、单元格引用类型等基础操作要点。同时涉及计算机基础概念如二进制、ROM存储器等。题目以单选和多选形式呈现,附带详细答案解析,全面检验用户对WPS办公软件的功能掌握程度和实际操作能力,适用于办公软件技能培训和水平测试。

qq_73044452的博客 1428

【MyBatis-Plus】核心开发指南:高效CRUD与进阶实践

在传统MyBatis开发中,我们常陷入重复劳动 MyBatis-Plus(MP)的诞生直击上述痛点。作为MyBatis的增强工具包,它在保留MyBatis所有灵活性的基础上,通过两大核心设计大幅提升开发效率。 本文将系统解析MP的核心工作机制,涵盖以下重点: 1.基础CRUD的零SQL实现 2.注解驱动的表字段映射策略 3.基于Lambda的条件构造器安全写法 4.自定义SQL与MP特性的无缝融合

2301_81073317的博客 3954

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Mybatis-Plus之CRUD接口

Mybatis-Plus CRUD接口 Service CRUD 接口 说明: 通用 Service CRUD 封装IService接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆, 泛型 T 为任意实体对象 建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类 对象 Wrapper 为 条件构造器 #Save // 插入

子冉冰清的博客 830

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【JavaEE】MyBatis - Plus

MyBatis Plus的基本使用

yj20040627的博客 2443

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

MyBatis-Plus的使用

MyBatis-plus的使用,包括如何引入Mybatis-plus,常见注解,条件构造器,自定义SQL

snow_feather的博客 2151

手把手带你入门 MyBatis-Plus:快速掌握高效 CRUD 操作

(MP)是基于MyBatis的增强工具,旨在简化开发流程并提高效率。MP 不改变 MyBatis 的核心功能,仅在其基础上做出增强。使用 MyBatis-Plus 能有效降低代码重复,提升数据库操作的便捷性。MyBatis-Plus 允许自定义 Mapper 方法,使用 XML 映射文件或注解完成更复杂的查询。MyBatis-Plus 作为 MyBatis 的增强工具,通过简化代码编写、提高开发效率,为开发者提供了极大的便利。

venus_patton的博客 1245

MyBatis-Plus:简化你的CRUD

本文全面介绍了MyBatis-Plus的核心功能与使用技巧。作为MyBatis的增强工具,MyBatis-Plus通过自动化CRUD操作、强大的条件构造器、内置分页插件等特性,大幅提升了开发效率。文章从环境搭建开始,详细讲解了BaseMapper和IService的CRUD操作、QueryWrapper条件构造、分页查询、逻辑删除、字段自动填充等实用功能,并介绍了代码生成器的使用方法。同时强调MyBatis-Plus完全兼容原生MyBatis,支持自定义SQL处理复杂场景。通过本文,开发者可以快速掌握MyB

m0_73884648的博客 1282

mybatis-plus快速搭建

分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)MybatisPlus提供了starter,实现了自动Mybatis以及MybatisPlus的自动装配功能,由于这个starter包含对mybatis的自动装配,因此完全可以替换掉Mybatis的starter。

Lance_369的博客 1691

MyBatis-Plus:简化 CRUD 操作的艺术

MyBatis-Plus 是一个基于 MyBatis 的增强工具,它旨在简化 MyBatis 的使用,提高开发效率。

qq_17153885的博客 1084

Java面试-MyBatis-Plus 常用功能:CRUD、分页、条件构造器

《Java面试200问》系列之MyBatis-Plus核心功能解析摘要: MyBatis-Plus作为MyBatis的增强工具,通过三大核心功能显著提升开发效率: 零SQL的CRUD:继承BaseMapper即可获得18种基础操作方法,支持自动主键回填、批量操作; 优雅分页:内置分页插件,通过Page对象实现比PageHelper更简洁的分页查询; Lambda条件构造器:类型安全的查询条件构建,避免SQL注入风险。文中详细演示了环境配置、自动填充等企业级功能,并对比传统MyBatis开发方式,展示其&qu

千淘万漉虽辛苦,吹尽狂沙始到金 2万+
上一篇: Java读取XML详解(DOM方式)
下一篇: 通过SQL语句计算两地的经纬度距离
ㅤㅤ 诚ㅤㅤ
博客等级 码龄8年 206粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值