如何借助AI在20分钟内写一个springboot单表的增删改查

目录

  • 1. AI工具介绍
  • 2. 写代码的正确顺序
    • 2.1 编写 Entity 类:
    • 2.2 编写 Mapper 接口:
    • 2.3 编写 Mapper XML 文件(如果使用 MyBatis):
    • 2.4 编写 Service 接口:
    • 2.5 编写 Service 实现类(ServiceImpl):
    • 2.6 编写 Controller 类:
  • 3. 总结

1. AI工具介绍

在idea的插件市场里:
​​​​​在这里插入图片描述

2. 写代码的正确顺序

2.1 编写 Entity 类:

定义与数据库表对应的领域模型类,包括字段、getter 和 setter 方法。
注意:主要确定各个字段的合理性,sql对于的idea上的类型,例如日期Date类,在Java上需要加注解@DateTimeFormat(value = “yyyy-MM-dd”)来固定格式。

package com.goblin.BIbackend.model.entity;import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;/**** @TableName install_requests*/
@TableName(value ="install_requests")
@Data
public class InstallRequests implements Serializable {/****/@TableId(type = IdType.AUTO)private Long id;/****/private Long userId;/****/@DateTimeFormat(value = "yyyy-MM-dd")private Date requestDate;/****/private String status;/****/private String description;@TableField(exist = false)private static final long serialVersionUID = 1L;
}

2.2 编写 Mapper 接口:

创建与数据库操作相关的接口,使用 MyBatis 或 JPA 等 ORM 框架注解来标识数据库操作。

package com.goblin.BIbackend.mapper;import com.goblin.BIbackend.model.entity.InstallationProgress;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;/**
* @author **
* @description 针对表【installation_progress】的数据库操作Mapper
* @createDate 2024-07-07 00:36:01
* @Entity com.goblin.BIbackend.model.entity.InstallationProgress
*/
public interface InstallationProgressMapper extends BaseMapper<InstallationProgress> {public InstallationProgress select1(Long id);public void insert1(InstallationProgress installationProgress);public void delete1(Long id);public void update1(InstallationProgress installationProgress);
}

2.3 编写 Mapper XML 文件(如果使用 MyBatis):

在 XML 文件中编写具体的 SQL 语句和结果映射,与 Mapper 接口中的方法相对应。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.goblin.BIbackend.mapper.InstallRequestsMapper"><resultMap id="BaseResultMap" type="com.goblin.BIbackend.model.entity.InstallRequests"><id property="id" column="id" jdbcType="BIGINT"/><result property="userId" column="user_id" jdbcType="BIGINT"/><result property="requestDate" column="request_date" jdbcType="DATE"/><result property="status" column="status" jdbcType="VARCHAR"/><result property="description" column="description" jdbcType="VARCHAR"/></resultMap><sql id="Base_Column_List">id,user_id,request_date,status,description</sql><select id="select1" resultMap="BaseResultMap">SELECT * FROM install_requests where id = #{id}</select><insert id="insert1" parameterType="com.goblin.BIbackend.model.entity.InstallRequests">INSERT INTO install_requests (user_id,request_date,status,description)VALUES (#{userId},#{requestDate},#{status},#{description})</insert><delete id="delete1" parameterType="com.goblin.BIbackend.model.entity.InstallRequests">DELETE FROM install_requests where id = #{id}</delete><update id="update1" parameterType="com.goblin.BIbackend.model.entity.InstallRequests">UPDATE install_requestsset user_id = #{userId},request_date = #{requestDate},status = #{status},description = #{description}WHERE id = #{id}</update>
</mapper>

2.4 编写 Service 接口:

定义业务逻辑的接口,声明服务层的方法。

package com.goblin.BIbackend.service;import com.goblin.BIbackend.model.entity.InstallRequests;
import com.baomidou.mybatisplus.extension.service.IService;/**
* @author **
* @description 针对表【install_requests】的数据库操作Service
* @createDate 2024-07-07 00:04:57
*/
public interface InstallRequestsService extends IService<InstallRequests> {InstallRequests select2(Long id);InstallRequests insert2(InstallRequests installRequests);void delete2(Long id);InstallRequests update2(InstallRequests installRequests);}

2.5 编写 Service 实现类(ServiceImpl):

实现 Service 接口中定义的方法,调用 Mapper 接口进行数据访问。

package com.goblin.BIbackend.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.goblin.BIbackend.model.entity.InstallRequests;
import com.goblin.BIbackend.service.InstallRequestsService;
import com.goblin.BIbackend.mapper.InstallRequestsMapper;
import org.springframework.stereotype.Service;import javax.annotation.Resource;/**
* @author **
* @description 针对表【install_requests】的数据库操作Service实现
* @createDate 2024-07-07 00:04:57
*/@Service
public class InstallRequestsServiceImpl extends ServiceImpl<InstallRequestsMapper, InstallRequests>implements InstallRequestsService{@Resourceprivate InstallRequestsMapper mapper;@Overridepublic InstallRequests select2(Long id) {return mapper.select1(id);}@Overridepublic InstallRequests insert2(InstallRequests installRequests) {mapper.insert1(installRequests);return installRequests;}@Overridepublic void delete2(Long id) {mapper.delete1(id);}@Overridepublic InstallRequests update2(InstallRequests installRequests) {mapper.update1(installRequests);return installRequests;}}

2.6 编写 Controller 类:

创建 RESTful API 或 MVC 控制器,处理 HTTP 请求并调用 Service 层。

package com.goblin.BIbackend.controller;import com.goblin.BIbackend.common.BaseResponse;
import com.goblin.BIbackend.common.ResultUtils;
import com.goblin.BIbackend.model.entity.InstallRequests;
import com.goblin.BIbackend.service.InstallRequestsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;import javax.annotation.Resource;@RestController
@RequestMapping("/installRequests")
@Slf4j
public class InstallRequestsController {@Resourceprivate InstallRequestsService iRS;@GetMapping("/select2")public BaseResponse<InstallRequests> select2(Long id) {log.info("查询电表安装请求: {}", id);InstallRequests installRequests = iRS.select2(id);return ResultUtils.success(installRequests);}@PostMapping("/insert2")public BaseResponse<InstallRequests> insert2(@RequestBody InstallRequests installRequests) {log.info("新增电表安装请求: {}", installRequests);InstallRequests insert = iRS.insert2(installRequests);return ResultUtils.success(insert);}@DeleteMapping("/delete2")public BaseResponse<Boolean> delete2(Long id) {log.info("删除电表安装请求: {}", id);iRS.delete2(id);return ResultUtils.success(true);}@PutMapping("/update2")public BaseResponse<InstallRequests> update2(@RequestBody InstallRequests installRequests) {log.info("更新电表安装请求: {}", installRequests);iRS.update2(installRequests);return ResultUtils.success(installRequests);}
}

3. 总结

这个顺序并不是固定不变的,实际开发过程中可能会根据项目需求和团队习惯进行调整。例如,可以先编写 Controller 层来定义 API 接口,再逆向工程到 Service 层和 Entity 层。over

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pyhton学习】深度理解类和对象

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 一、一切皆对象1.1 对象的概念1.2 如何创建类对象1.3 类型检测 二、属性与方法2.1 如何查看属性与方法2.2 属性和方法…

C语言 | Leetcode C语言题解之第220题存在重复元素III

题目&#xff1a; 题解&#xff1a; struct HashTable {int key;int val;UT_hash_handle hh; };int getID(int x, long long w) {return x < 0 ? (x 1ll) / w - 1 : x / w; }struct HashTable* query(struct HashTable* hashTable, int x) {struct HashTable* tmp;HASH_F…

leetcode每日一题-3101 交替子数组计数

暴力遍历&#xff1a;看起来像是回溯,实际上就是递归 class Solution { private:long long _res 0; public:long long countAlternatingSubarrays(vector<int>& nums) {backtrack(nums, 0);return _res;}void backtrack(vector<int>& nums, long long st…

查询某个县区数据,没有的数据用0补充。

加油&#xff0c;新时代打工人&#xff01; 思路&#xff1a; 先查出有数据的县区&#xff0c;用县区编码判断&#xff0c;不存在县区里的数据。然后&#xff0c;用union all进行两个SQL拼接起来。 SELECTt.regionCode,t.regionName,t.testNum,t.sampleNum,t.squareNum,t.crop…

普中51单片机:数码管显示原理与实现详解(四)

文章目录 引言数码管的结构数码管的工作原理静态数码管电路图开发板IO连接图代码演示 动态数码管实现步骤数码管驱动方式电路图开发板IO连接图真值表代码演示1代码演示2代码演示3 引言 数码管&#xff08;Seven-Segment Display&#xff09;是一种常见的显示设备&#xff0c;广…

Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类

Visual studio 2023下使用 installer projects 打包C#程序并创建 CustomAction 类 1 安装Visual studio 20203,并安装插件1.1 下载并安装 Visual Studio1.2 步骤二:安装 installer projects 扩展插件2 创建安装项目2.1 创建Windows安装项目2.2 新建应用程序安装文件夹2.3 添加…

A Threat Actors 出售 18 万名 Shopify 用户信息

BreachForums 论坛成员最近发布了涉及 Shopify 的重大数据泄露事件。 据报道&#xff0c;属于近 180,000 名用户的敏感数据遭到泄露。 Shopify Inc. 是一家总部位于安大略省渥太华的加拿大公司。 开发和营销同名电子商务平台、Shopify POS 销售点系统以及专用于企业的营销工…

SQL脚本初始化数据

创建或选择某个数据库&#xff0c;运行窗口输入&#xff1a;source,再拖入文件&#xff0c;回车即可&#xff1b; 虽然也可以使用图形化工具初始化数据&#xff0c;但是他会有内存限制&#xff0c;也就是较大的sql文件不可以初始化&#xff0c;而运行窗口没有sql文件大小限制&…

本周23个Github有趣项目llama-agents等

23个Github有趣的项目、工具和库 1、Positron 下一代数据科学 IDE。 您使用 VS Code 进行数据科学&#xff08;Python 或 R&#xff09;&#xff0c;但希望它包含专用控制台、变量窗格、数据浏览器和其他用于特定数据工作的功能。您使用 Jupyterlab 进行数据科学&#xff08;…

python读取csv出错怎么解决

Python用pandas的read_csv函数读取csv文件。 首先&#xff0c;导入pandas包后&#xff0c;直接用read_csv函数读取报错OSError&#xff0c;如下&#xff1a; 解决方案是加上参数&#xff1a;enginepython。 运行之后没有报错&#xff0c;正在我欣喜之余&#xff0c;输出一下d…

centos7部署mysql8.0

1.安装MySQL的话会和MariaDB的文件冲突&#xff0c;所以需要先卸载掉MariaDB。查看是否安装mariadb rpm -qa | grep mariadb 2. 卸载mariadb rpm -e --nodeps 查看到的文件名 3.下载MySQL安装包 MySQL官网下载地址: MySQL :: Download MySQL Community Serverhttps://dev.mys…

19.JWT

1►JWT博客推荐 阮老师讲得很好了&#xff0c;网址如下&#xff1a; http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html 2►ry是怎么践行JWT的呢&#xff1f; 问题一&#xff1a;不登录的时候有token吗&#xff1f; 答&#xff1a;没有&#xff0c;所…

blender 纹理绘制-贴花方式

贴画绘制-1分钟blender_哔哩哔哩_bilibili小鸡老师的【Blender风格化角色入门教程】偏重雕刻建模https://www.cctalk.com/m/group/90420100小鸡老师最新的【风格化角色全流程进阶教程】偏重绑定。早鸟价进行中&#xff01;欢迎试听https://www.cctalk.com/m/group/90698829, 视…

Splunk Enterprise 中的严重漏洞允许远程执行代码

Splunk 是搜索、监控和分析机器生成大数据的软件领先提供商&#xff0c;为其旗舰产品 Splunk Enterprise 发布了紧急安全更新。 这些更新解决了几个构成重大安全风险的关键漏洞&#xff0c;包括远程代码执行 (RCE) 的可能性。 受影响的版本包括 * 9.0.x、9.1.x 和 9.2.x&…

ARM架构和Intel x86架构

文章目录 1. 处理器架构 2. ARM架构 3. Intel x86架构 4. 架构对比 1. 处理器架构 处理器架构是指计算机处理器的设计和组织方式&#xff0c;它决定了处理器的性能、功耗和功能特性。处理器架构影响着从计算机系统的硬件设计到软件开发的各个方面。在现代计算技术中&#…

计算机组成原理学习笔记(一)

计算机组成原理 [类型:: [[计算机基础课程]] ] [来源:: [[B站]] ] [主讲人:: [[咸鱼学长]] ] [评价:: ] [知识点:: [[系统软件]] & [[应用软件]] ] [简单解释:: 管理计算机系统的软件&#xff1b; 按照任务需要编写的程序 ] [问题:: ] [知识点:: [[机器字长]] ] [简单…

绝区壹--LLM的构建模块

前言 语言是人类交流的本质&#xff0c;大型语言模型 (LLM) 凭借其出色的理解和生成类似人类的文本的能力&#xff0c;彻底改变了我们与语言互动和利用语言的方式。深入研究 LLM 的构建块&#xff08;向量、标记和嵌入&#xff09;&#xff0c;揭示了使这些模型能够以前所未有…

辣子简报芬芳喜事特辑

【辣子简报芬芳喜事特辑】&#x1f389;在这个季节的尾声&#xff0c;当一缕阳光温柔地洒在打包好的行囊上&#xff0c;我们不约而同地停下了忙碌的脚步&#xff0c;回望那段共同编织的璀璨时光——79天的并肩作战&#xff0c;如同一段精彩绝伦的旅程&#xff0c;如今已缓缓驶向…

3D地图是智慧城市可视化项目绕不开的技术!来我帮你解决

**3D地图&#xff1a;智慧城市可视化项目绕不开的技术&#xff01;来我帮你解决** 智慧城市已成为未来城市发展的必然趋势。而3D地图作为智慧城市可视化项目的核心技术之一&#xff0c;其重要性不言而喻。本文将深入探讨3D地图在智慧城市建设中的应用及其优势&#xff0c;为您…

2-5 softmax 回归的简洁实现

我们发现通过深度学习框架的高级API能够使实现线性回归变得更加容易。 同样&#xff0c;通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节如在上节中一样&#xff0c; 继续使用Fashion-MNIST数据集&#xff0c;并保持批量大小为256。 import torch from torc…