AI一键生成增删改查代码

AI一键生成增删改查代码

在线体验:体验地址
在这里插入图片描述

使用教程

1. 描述需求

准确清晰的描述你的需求,如:基于RBAC模型的权限管理系统,点击AI图标
在这里插入图片描述

2. AI生成SQL语句

AI将根据你的需求描述生成SQL语句

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL COMMENT '用户名',
    password VARCHAR(255) NOT NULL COMMENT '密码(加密后的值)',
    email VARCHAR(100) COMMENT '电子邮箱',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

CREATE TABLE roles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL COMMENT '角色名称',
    description TEXT COMMENT '角色描述',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';

CREATE TABLE permissions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL COMMENT '权限名称',
    description TEXT COMMENT '权限描述',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限表';

CREATE TABLE user_roles (
    user_id INT,
    role_id INT,
    PRIMARY KEY (user_id, role_id),
    FOREIGN KEY (user_id) REFERENCES users(id),
    FOREIGN KEY (role_id) REFERENCES roles(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';

CREATE TABLE role_permissions (
    role_id INT,
    permission_id INT,
    PRIMARY KEY (role_id, permission_id),
    FOREIGN KEY (role_id) REFERENCES roles(id),
    FOREIGN KEY (permission_id) REFERENCES permissions(id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色权限关联表';

3. 自定义生成配置

配置包名、作者名、要生成的方法及方法配置、代码模板、ORM框架、要集成的依赖等配置项,也可直接使用默认配置,点击一键生成
在这里插入图片描述

4. 生成代码

生成的部分内容如下,完整代码可在线体验:体验地址

Users.java:

package com.tool4j.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * =
 *
 * @author system
 * @since 2023-12-13 13:26:31
 */
@Data
@TableName("users")
@ApiModel(value = "Users", description = "=")
public class Users implements Serializable{

    private static final long serialVersionUID=1L;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer id;

    /**
     *  用户名
     */
    @ApiModelProperty("用户名")
    private String username;

    /**
     *  密码(加密后的值)
     */
    @ApiModelProperty("密码(加密后的值)")
    private String password;

    /**
     *  电子邮箱
     */
    @ApiModelProperty("电子邮箱")
    private String email;

    /**
     *  创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createdAt;

    /**
     *  更新时间
     */
    @ApiModelProperty("更新时间")
    private Date updatedAt;

}

Roles.java

package com.tool4j.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * =
 *
 * @author system
 * @since 2023-12-13 13:26:31
 */
@Data
@TableName("roles")
@ApiModel(value = "Roles", description = "=")
public class Roles implements Serializable{

    private static final long serialVersionUID=1L;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer id;

    /**
     *  角色名称
     */
    @ApiModelProperty("角色名称")
    private String name;

    /**
     *  角色描述
     */
    @ApiModelProperty("角色描述")
    private String description;

    /**
     *  创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createdAt;

    /**
     *  更新时间
     */
    @ApiModelProperty("更新时间")
    private Date updatedAt;

}

Permissions.java

package com.tool4j.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * =
 *
 * @author system
 * @since 2023-12-13 13:26:31
 */
@Data
@TableName("permissions")
@ApiModel(value = "Permissions", description = "=")
public class Permissions implements Serializable{

    private static final long serialVersionUID=1L;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer id;

    /**
     *  权限名称
     */
    @ApiModelProperty("权限名称")
    private String name;

    /**
     *  权限描述
     */
    @ApiModelProperty("权限描述")
    private String description;

    /**
     *  创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createdAt;

    /**
     *  更新时间
     */
    @ApiModelProperty("更新时间")
    private Date updatedAt;

}

UserRoles.java

package com.tool4j.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * =
 *
 * @author system
 * @since 2023-12-13 13:26:31
 */
@Data
@TableName("user_roles")
@ApiModel(value = "UserRoles", description = "=")
public class UserRoles implements Serializable{

    private static final long serialVersionUID=1L;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer userId;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer roleId;

}

RolePermissions.java

package com.tool4j.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * =
 *
 * @author system
 * @since 2023-12-13 13:26:31
 */
@Data
@TableName("role_permissions")
@ApiModel(value = "RolePermissions", description = "=")
public class RolePermissions implements Serializable{

    private static final long serialVersionUID=1L;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer roleId;

    /**
     *   
     */
    @ApiModelProperty(" ")
    private Integer permissionId;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/240875.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高危性行为感染HPV几率有多大?谭巍主任阐述三大要点

高危性行为是指与多个性伴侣发生性行为,或者与性伴侣发生无保护措施的性行为。这些行为增加了感染性传播疾病的风险,包括人乳头瘤病毒(HPV)。 一、HPV感染的风险 1. 性伴侣数量:性伴侣数量越多,感染HPV的几率就越高。与多个性伴…

2023年AMC8数学竞赛真题的典型考点和解析

现在距离2024年1月19日的AMC8数学竞赛还有一个多月的时间,最后一个多月的时间,六分成长建议在前期知识点和内容体系都比较熟悉的基础上,以刷真题为主。同时通过刷真题的查漏补缺,补齐短板。 如何提高刷真题的效率呢?当…

数据结构之----二叉树、二叉树遍历、二叉树数组表示、二叉搜索树

数据结构之----二叉树、二叉树遍历、二叉树数组表示、二叉搜索树 什么是二叉树? 二叉树是一种非线性数据结构,代表着祖先与后代之间的派生关系,体现着“一分为二”的分治逻辑。 与链表类似,二叉树的基本单元是节点,每…

软件测试基础知识总结(超详细整理)

基础篇 1. 什么是软件测试? 软件测试(Software Testing)的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。简单来讲就是&am…

【论文翻译】Learning Deep Features for Discriminative Localization

原文:Learning Deep Features for Discriminative Localization 摘要 在这项工作中,我们重新审视了文献[13]中提出的全局平均池化层,并阐明了它如何明确地使卷积神经网络具有出色的定位能力,尽管该网络是在图像级标签上进行训练的…

我的隐私计算学习——隐私集合求交(2)

笔记内容来自多本书籍、学术资料、白皮书及ChatGPT等工具,经由自己阅读后整理而成。 前篇可见:我的隐私计算学习——隐私集合求交(1) (三)PSI应用场景问题 ​在目前的实际应用中,衍生出一些新…

【操作系统和计网从入门到深入】(三)进程控制

前言 这个专栏其实是博主在复习操作系统和计算机网络时候的笔记,所以如果是博主比较熟悉的知识点,博主可能就直接跳过了,但是所有重要的知识点,在这个专栏里面都会提到!而且我也一定会保证这个专栏知识点的完整性&…

【大数据-Hadoop】从入门到源码编译-概念篇

【大数据-Hadoop】从入门到源码编译-概念篇 Hadoop与大数据生态(一)Hadoop是什么?(二)Hadoop组成1. HDFS1.1 NameNode(nn)1.2 DataNode(dn)1.3 Secondary NameNode&#…

如雨后春笋般层出不穷的人工智能,究竟可以为我们的生活带来些什么?

似乎是从chatgpt爆火以后,各种各样的和AI、人工智能有关的产品层出不穷,似乎只有带有人工智能,才能体现一个产品的功能之强大,才能在众多产品中具有一定的竞争力,那么这样的现象会给我们的生活带来什么影响呢&#xff…

如何用scratch画正多边形

各边相等,各角也相等的多边形叫做正多边形。 正多边形的外接圆的圆心叫做正多边形的中心。 正多边形的外接圆的半径叫做正多边形的半径。 中心到圆内接正多边形各边的距离叫做边心距。 正多边形各边所对的外接圆的圆心角都相等,这个圆心角叫做正多边…

各行各业模板ppt模板打包下载

下载地址 https://download.csdn.net/download/douluo998/88624912 超多ppt模板 136-高级古风PPT 135-高端艺术PPT 134-高端A4竖版PPT 133-露营活动PPT 132-雷锋主题PPT 131-退休欢送会PPT 130-转正述职报告PPT 129-谷雨PPT 128-课堂互动游戏PPT 127-读书分享PPT -2023-07-22 1…

多线程 (上) - 学习笔记

前置知识 什么是线程和进程? 进程: 是程序的一次执行,一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间,一个进程可以有多个线程,比如在Windows系统中,一个运行的xx.exe就是一个进程。 线程: 进程中的一个执行流&#xff0…

计算机操作系统原理分析期末复习

一、理解与识记 三种基本的OS类型及各自的特点: 批处理系统(内存同时存放几个作业。优点:资源利用率高、作业吞吐量大、系统开销小;缺点:用户无交互性、作业平均周转时间长)、分时系统(时间片技…

后端项目全局异常处理-使用RuntimeException自定义异常异常分类简单举例

接上篇:后端项目操作数据库-中枢组件Service调用Mapper 自定义异常: 手动抛出异常,为了后续统一捕获,需要异常自定义; 如:当使用抛出异常的方式表示“操作失败”时,为了后续统一捕获&#xff0c…

信息过载的反思

在今天微信、短视频、图文不停的密集的信息轰炸之下,你“察觉”到你的精力不济没有?你时常会觉得耳鸣、目涩,注意力无法集中;你懒于记忆,甚至爱人的手机号都想不起来,习惯于用移动电话找人名,不…

Docker - Android源码编译与烧写

创建源代码 并挂载到win目录 docker run -v /mnt/f/android8.0:/data/android8.0 -it --name android8.0 49a981f2b85f /bin/bash 使用 docker update 命令动态调整内存限制: 重新运行一个容器 docker run -m 512m my_container 修改运行中容器 显示运行中容器 d…

使用飞书自定义机器人发送消息

使用飞书机器人可以很方便的获取自动化任务的反馈: 在群里创建一个机器人: 记住下面的 webhook地址,这个是标识机器人的唯一ID,比如它的webhook地址是:"https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxx-a…

【1.计算机组成与体系结构】流水线技术

目录 1.流水线的定义2.相关参数计算2.1 流水线计算公式2.2 流水线的吞吐率2.3 流水线加速比计算 3.超标量流水线 1.流水线的定义 流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令…

STM32——超声波传感器

需求: 使用超声波测距,当手离传感器距离小于 5cm 时, LED1 点亮,否则保持不亮状态 接线: 定时器配置: 使用 TIM2 ,只用作计数功能,不用作定时。 将 PSC 配置为 71 ,…

笔记 - 现代嵌入式芯片封装识读

0.引用: 配图、资料并非一处采集,我不太容易找到图片的原始链接。这里的图片仅作示例,无商业用途。如果涉及侵权,请随时联系。谢谢! PCB封装欣赏了解之旅(下篇)—— 常用集成电路_ufqfpn封装…