前后端实现简单的数据库的增删改查

Flask+mysql 实现增删改查接口开发+测试(图文教程附源码) 目录 一、前言 二、环境准备 2.1 安装python 2.2 安装mysql 三、工具准备 3.1 安装pycharm 3.2 安装Navicat 3.3 安装postman 四、mysql数据库准备 4.1 Navicat连接 4.2 数据库准备 五、增删改查接口(服务)开发 5.1 表的增删改查操作 5.2 增加接口服务 5.3 删除接口服务 5.4 修改接口服务 5.5 查询接口服务 六、接口测试 6.1 测试增加接口服务 6.2测试删除接口服务 ... 阅读详情

目录

前言

环境准备

大致实现流程:


前言

        首先在除夕夜里,祝大家除夕快乐!!!经过这几天的学习,也算是学习到了不少东西,此篇来记录下学习成果:实现简单的前后端来实行数据库的增删改查。后端主要有MyBatis;前端主要有vue框架,ajax(并用axios简化操作),代码实现效果摘抄了element-ui;前后端交互中用到了fastjson,更快速地实现java对象与JSON的相互转变

环境准备

主要目录如下:

 分为Dao层,Service层,Web层和前端html

在官网找到并导入element-ui,vue.js和axios-0.18.0.js

在.html文件中导入相应的坐标

pom.xml文件的相关坐标与插件导入 

    <dependencies>
        <!--Servlet-->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>


        <!--MyBatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.5</version>
        </dependency>
        <!--MySQL-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>


        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>


    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
            </plugin>
        </plugins>
    </build>

   

事先准备好的数据库数据

-- 删除tb_brand表
drop table if exists tb_brand;
-- 创建tb_brand表
create table tb_brand
(
    -- id 主键
    id           int primary key auto_increment,
    -- 品牌名称
    brand_name   varchar(20),
    -- 企业名称
    company_name varchar(20),
    -- 排序字段
    ordered      int,
    -- 描述信息
    description  varchar(100),
    -- 状态:0:禁用  1:启用
    status       int
);
-- 添加数据
insert into tb_brand (brand_name, company_name, ordered, description, status)
values 
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('三只松鼠', '三只松鼠股份有限公司', 5, '好吃不上火', 0),
       ('华为', '华为技术有限公司', 100, '万物互联', 1),
       ('小米', '小米科技有限公司', 50, 'are you ok', 1),
       ('格力', '格力电器股份有限公司', 30, '让世界爱上中国造', 1),
       ('阿里巴巴', '阿里巴巴集团控股有限公司', 10, '买买买', 1),
       ('腾讯', '腾讯计算机系统有限公司', 50, '玩玩玩', 0),
       ('百度', '百度在线网络技术公司', 5, '搜搜搜', 0),
       ('京东', '北京京东世纪贸易有限公司', 40, '就是快', 1)
        ;
   

SELECT * FROM tb_brand;

在相应的Mapper映射配置文件中(为了防止数据库表中的字段名称和实体类的数据名称不一样,不能自动封装数据的问题,使用resultMap标签来替换resultType,从而实现<select>标签内的效果)

    <resultMap id="brandResultMap" type="com.pojo.Brand">
        <result property="brandName" column="brand_name" />
        <result property="companyName" column="company_name" />
    </resultMap>

大致实现流程:

        1.查看页面所要实现的功能,根据功能写好相应的数据库操作,简单的数据库操作可以采用注解的方式去实现,复杂的需要在相应的.xml的文件中实现(注意传参的@Param的应用,以及是否需要加 . 后缀)

//上要加后缀.,brand.成员变量
List<Brand> selectByPageAndCondition(@Param("begin") int begin,@Param("size") int size,@Param("brand")Brand brand);


//下不用,直接调用成员变量
int selectTotalCountByCondition(Brand brand);

        2.实现Service层的代码,写好接口,再写实现类,这样可以根据需求变化来改变实现类即可,而不用动接口

        

        3.Web层的实现与前端代码实现同时进行,根据前端代码,发送相应的ajax异步请求,前端传数据,在Servlet层中要通过fastjson内的方法转成对象(有data:),亦或是在相应的url后再上?与相应的变量名与数据(无data:),用HttpServletRequest内的getParameter方法调取,二者可以同时用

通过Servlet响应返回对应的数据与信息(实现修改与删除为了获取相应的id标识,采用了插槽的功能;在实现分页查询和条件查询时需要response返回两个数据,可以在pojo再创建一个类(Bean),用该类存储数据,转成JSON返回,然后可采用下述方法获取 data 再加后缀.)

存在的瑕疵与问题:

        因为查询内所用的数据模型与修改所使用的数据模型相同(为了实现回显效果,而将brand的数据返回显示),这就导致了每当选中修改,就会把相应的品牌数据显示的查询框中。

        本人想到的解决方法是想在创建一个数据模型,分开存储,但又感觉有点奇怪,欢迎大家更好解决问题的方法,虚心听取!

        最后,祝大家除夕快乐!!!

 源码:https://download.youkuaiyun.com/download/study_maker/78746612

Flask+VUE 实现页面增删改查显示开发+测试(图文教程附源码) 环境搭建博文: Flask+mysql接口增删改查博文: 本篇文章接着上面的图书项目book增删改查实现 vue 创建新项目 :vue create book 初始化 :vue init webpack book 中间要是提示要安装脚手架,按照提示执行命令即可 新建项目成功后,目录结构如下: ... 阅读详情

相关推荐

用springboot+springdata-jpa+vue实现简单的前后端分离增删改查

用springboot+springdata-jpa+vue实现简单的前后端分离增删改查 话不多说 先上pom文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId&gt...

weixin_44295766的博客 6711

前端vue增删改查思路(连接后台数据)

稿子: 大家好,我是青豆恩,今天我给大家讲解一下前端 vue做增删改查。它使用到的技术栈是vue+element+es6 我们先来看一下页面,点击查询可以查询到想要的信息 点击新增会有一个弹出框,点击修改也是,点击查看就会 有一个不可编辑的弹出框。点击删除可以删除一条信息。 我们使用的编辑器是vscode,文件代码分为三部分。 <template></template> <script> export default{ } </script> 我们重点..

weixin_49393290的博客 1万+

Vue 脚手架结合 SpringBoot 构建前后端分离入门项目(实现增删改查

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。所以看完之后,还是多多行动起来吧!可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】一个人可以走的很快,但一群人才能走的更远。

ccc6553584的博客 928

关于nodejs写后台连接数据库,对数据库增删改查接口

Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低。 废话不多说,如何使用nodejs连接数据库作为接口呢? 业务逻辑:三层架构 1.界面层 view层,封装给前端的数据,接收前端的数据 2.务逻辑层 services层,内部的路径操作,每一个路径内的操作不一样 3.数据访问层 dao层,访问数据库

梓齐丶的博客 7499

MVC设计模式+Servlet+Filter【练习】搭建 MVC 架构,实现数据的增删改查

搭建 MVC 架构,实现数据的增删改查前言代码测试 前言 之前学习了MVC 设计模式、HTML、JSP(EL表达式、JSTL)、JDBC、MySql、Servlet、Filter等,在这个例子中加以巩固练习一下。虽然是一个简单的demo,但由于是初学Java web,写完了代码之后,觉得有必要整理一下思路并记录下来。值得记录的有两个方面:1.如何搭建MVC架构 2.各JSP页面是怎么通过URI、Servlet关联起来的。 该例子实现了数据库中表的增删改查,具体的效果见测试一节。 代码 测试 ...

辣辣的博客 1405

Vue框架实现对前端数据表的增删改查(第六课)

前端对数据的增删改查你看到过吗?今天带你来实现一下在前端就页面上实现对数据的增伤改查

qq_56248592的博客 2006

基于vue-ElementUI-javaweb_servlet-mysql简单小例子实现增删改查

ElementUI-javaweb_servlet-mysql简单小例子实现增删改查前言一、mysql部分1.新建表二、javaweb_servlet部分1.查询部分2.添加数据3.修改数据4.删除数据ElementUI部分App.vue部分main.js部分总结第一步:前台填写数据并发送第二步后台获取数据并处理 前言 最后做出来的页面如下: 以下是本篇文章正文内容 一、mysql部分 mysql的主要工作是写一个数据表来提供数据,当servlet被访问的时候对数据库进行增删改查操作 1.新建表 此.

nuurgg的博客 1929

从‘眼花缭乱’到‘心中有数’:rs-fMRI统计分析全流程避坑指南(附DPABI操作截图)

本文详细解析了rs-fMRI统计分析的全流程,从质量控制到统计模型选择,再到多重比较校正和结果解读。特别针对DPABI软件操作中的常见陷阱提供实用指南,帮助研究者避免FDR和GRF校正等关键环节的错误,实现从数据混乱到清晰分析的转变。

weixin_33686714的博客 400

基于SpringBoot框架做一个简单的增删改查

本文介绍了使用Spring Boot框架实现数据库增删改查功能的步骤。首先配置数据库环境,包括安装小皮PHP面板和Navicat可视化工具。然后创建Spring Boot项目,添加Lombok、Spring Web和Thymeleaf等依赖。接着按照MVC架构创建entity、dao、service和controller层:entity定义数据模型,dao继承CrudRepository接口,service实现业务逻辑,controller处理请求。重点讲解了通过Thymeleaf模板展示数据,以及使用jQ

亚洲牛蛙的博客 965

自定义串口通讯协议

自定义串口通讯协议的实现方法

qq_44826038的博客 2173

java+servlet+jsp连接数据库的增删改查

1.首先建一个公共的包,里面包括连接数据库的方法,不用每次都连接数据库。public String url="jdbc:mysql://localhost:3306/rwgl?useSSL=false"; @SuppressWarnings("unused") public String userName="root";//数据库的账号 @SuppressWarnings("unused")...

cxc_happy111的博客 2541

Selenium ChromeDriver反爬与性能优化实战指南

ChromeDriver作为Selenium的核心驱动,本质是浏览器自动化执行引擎,其默认行为会暴露大量JS运行时指纹(如navigator.webdriver、window.chrome),极易被前端反爬系统识别;同时因进程管理粗放、渲染等待机制僵化,导致内存泄漏、僵尸进程和高并发下稳定性崩塌。本文围绕真实生产场景,系统解析浏览器指纹伪造原理、进程级资源管控策略、基于页面状态的智能等待范式,并提供Docker容器化、K8s弹性扩缩与Prometheus可观测性落地路径,助力开发者将ChromeDriver

weixin_29762151的博客 1259

SpringCloud学习记录——JPA调用数据库(SSH+MySql)的增删改查

点我点我:项目github地址。1、数据库建表。新建mysql数据库、取名为springcloudssh,设置编码utf8,执行如下SQL语句创建表。DROP TABLE IF EXISTS `ssh_user`; CREATE TABLE `ssh_user` ( `u_id` varchar(64) NOT NULL, `username` varchar(100) NOT NULL,...

u012459871的博客 3351

全双工AI语音交互:从原理到实践,构建实时对话系统

语音交互技术正从传统的半双工模式向全双工模式演进,以实现更自然、实时的对话体验。全双工交互的核心原理在于模拟人类电话通话,允许双方同时发送和接收音频流,这需要流式语音识别(Streaming ASR)和实时自然语言理解(Real-time NLU)技术的深度整合。其技术价值在于显著降低交互延迟,支持智能打断(Barge-in),从而提升人机对话的流畅度和自然度。在应用场景上,全双工技术是智能助手、实时翻译、车载语音及无障碍交互等领域的关键突破。本文以微软MAI Realtime等模型为例,探讨如何利用开源技

weixin_33693070的博客 404

vivado Block Design 设计 .tcl 文件使用,导出,修改,添加方式

在vivado中生成 Block Design可以导出tcl文件进行保存(体积小),或者在别的版本vivado中打开(版本互通),这是一个非常好的功能。另外GitHub中很多项目都是采用这种方式上传的,学会如何使用可以快速修改历程项目。

2203_75345038的博客 2494

node.js与mongo交互的简单demo(增删改查)

node.js与mongo交互的简单demo(增删改查)

我要出家当道士 464

避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生)

本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。

weixin_28692153的博客 340

node.js无数据库,使用express+json形式实现增删改查

借鉴了下面这篇文章,写了自己的express增删改查 https://segmentfault.com/a/1190000018087665 想使用nodejs(express)搭建一个完整的前后端,完成数据的增删改查,又不想使用数据库,那使用json文件吧。 以下node.js使用了淘宝镜像 1、先全局安装express cnpm i express -g 2、安装express的脚手架工具express-generator cnpm i -g express-generator 3.

weixin_52031970的博客 1648

MATLAB基础应用精讲-【数模应用】游程检验(附MATLAB、R语言和python代码实现)

游程检验是一种非参数性统计假设的检验方法,它是游程总数检验和最大游程检验的总称,用于两个独立样本的比较和观测结果随机性的检验测试。​游程检验亦称“连贯检验”,是根据样本标志表现排列所形成的游程的多少进行判断的检验方法。[2]例1:设某样本n=12人的标志表现为男、女,有以下三种排列。(i) 男\男,女\女\女,男,女\女,男\男\男\男;(ii) 男\男\男\男\男\男\男,女\女\女\女\女;(iii) 男,女,男,女,男,女,男,女,男,女,男\男;连续出现男或女的区段称为游程。

qq_36130719的博客 609

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SpringBoot之增删改查

前期准备: SpringBoot+Thymeleaf+MyBastis+MySQL 目录结构如下: 一、基本配置 ①pom.xml配置,使用到的依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3....

YUEXILIULI的博客 836

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java 对json文件的增删查改_基于Koa(nodejs框架)对json文件进行增删改查

想使用nodejs(koa)搭建一个完整的前后端,完成数据的增删改查,又不想使用数据库,那使用json文件吧。本文介绍了基于koa的json文件的增、删、改、查。代码准备const Koa = require('koa')const bodyParser = require('koa-bodyparser')const Router = require('koa-router')const fs ...

weixin_29426299的博客 208

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

44使用php实现简单的前后端操作

44使用php实现简单的前后端操作 一、准备 - 下载bootstrap并使用 - 下载phpstudy - 下载mysql + Apache + php 二、存放路径 目录存放 (ctj文件夹下) css文件夹、js文件夹、php文件夹、index.html文件 css文件夹下 bootstrap.min.css文件 js文件夹下 axios.ajax.js文件、js/jquery-2.2.4.js文件、bootstrap.js文件、index.js文件 php文件夹下 index.php文件

m0_49788155的博客 871

用html、jquery、php编写新闻后台管理页面,动态添加新闻数据并实现数据的增删改查功能

写在前面: 我刚开始接触大前端这个行业,在刚开始接触前后台交互的时候相当头疼,不知道怎么下手,现在终于完成了一个小demo,写这个博客的目的就是让自己加深映象,对这个内容巩固巩固。这里模拟的是新闻后台的管理系统,新闻的展示内容我模拟的是百度新闻的内容。作用是和数据库交互,实现数据的增删改查功能。可能有的地方的代码是用比较笨的办法写的,但是我觉得这种更能让我们这种初来乍到的小白理解并应用。 重点知识:

liting1996的博客 5578

接口测试平台-95: 项目公共域名 库表设计+添加映射+增删改查

本节要开始弄公共请求头了。 大家会不会有一种,不知道要怎么下手的感觉,其实很简单。可以看下目前的结构,在下面写一个全局域名。其实整体设计和全局请求头基本一致,只是当中的标签id 数据字段 函数名需要更改。前端如此,urls.py,和views.py还有models.py基本都是复制粘贴全局请求头的,这样不就简单了么? 不要怀疑这种借鉴抄袭copy的方法,这其实是最正常和常见的方法,谁还能天天写什么都需要去创新,去创造,去设计?那不累死了。毕竟最高级的程序员 往往会使用最简单的code方式:ctrl+c.

weixin_48435804的博客 336

[项目实战] IT学习基地实现

项目实战解析

scsery的博客 438
上一篇: jsp el表达式无法取出值的原因(备忘)
下一篇: MySQL深入——索引
486过于烦躁
博客等级 码龄6年 17粉丝 34原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值