Springboot 整合Mybatis 实现增删改查(二)

续上篇:Springboot整合Mybatis的详细案例+图解+分析-CSDN博客

mapper层(StudentMapper)

    //通过id查询student方法
    Student searchStudentById(int id);
    //通过id删除student方法
    int deleteStudentById(int id);
    //通过id增加student方法
    int insertStudent(Student student);
    //通过id修改student方法
    int updateStudent(Student student);

service层(StudentService)

    //通过id查询student方法
    Student searchStudentById(int id);
    //通过id删除student方法
    int deleteStudentById(int id);
    //通过id增加student方法
    String insertStudent(Student student);
    //通过id修改student方法
    String updateStudent(Student student);

service接口层(StudentServiceImpl)

    //通过id查找
    @Override
    public Student searchStudentById(int id) {
        return studentMapper.searchStudentById(id);
    }
    //删除
    @Override
    public int deleteStudentById(int id) {
        int result1 = studentMapper.deleteStudentById(id);
        if (result1 == 1) {
            return 1;
        } else {
            return 0;
        }
    }
    //添加
    @Override
    public String insertStudent(Student student)
    {
        int result2=studentMapper.insertStudent(student);
        if(result2==1)
        {
            return "添加成功!";
        }
        else
        {
            return "添加失败!";
        }
    }
    //修改
    @Override
    public String updateStudent(Student student)
    {
        int result3=studentMapper.updateStudent(student);
        if(result3==1)
        {
            return "修改成功!";
        }
        else
        {
            return "修改失败!";
        }
    }

controller层(StudentController)

    @RequestMapping("/query/{id}")
    public String searchStudentById(@PathVariable("id") int id)
    {
        Student student=studentService.searchStudentById(id);
        return student.toString();
    }
    @RequestMapping("/delete/{id}")
    public int deleteStudentById(@PathVariable("id") int id)
    {
        return studentService.deleteStudentById(id);
    }
    @RequestMapping("/insert")
    public String insertStudent(Student student){
        return studentService.insertStudent(student);
    }
    @RequestMapping("/update")
    public String updateStudent(Student student)
    {
        return studentService.updateStudent(student);
    }

*mapper.xml(StudentMapper.xml)

    <resultMap id="BaseResultMap" type="com.example.demo.entity.Student">
        <result column="id" jdbcType="INTEGER" property="id"/>
        <result column="userName" jdbcType="VARCHAR" property="username"/>
        <result column="passWord" jdbcType="VARCHAR" property="password"/>
        <result column="sex" jdbcType="VARCHAR" property="sex"/>
        <result column="age" jdbcType="INTEGER" property="age"/>
    </resultMap>
    <select id="queryStudentList" resultType="Student">
        select * from student
    </select>
    <select id="searchStudentById" parameterType="java.lang.Integer" resultType="Student">
        select * from student where id=#{id}
    </select>
    <delete id="deleteStudentById" parameterType="java.lang.Integer">
        delete from student where id=#{id}
    </delete>
    <insert id="insertStudent">
        insert into student (id,username,password,sex,age) values (#{id},#{username},#{password},#{sex},#{age})
    </insert>
    <update id="updateStudent">
        update student set username=#{username},password=#{password},sex=#{sex},age=#{age} where id=#{id}
    </update>

运行结果

查询:http://localhost:8081/query/2

==>  Preparing: select * from student
==> Parameters: 
<==    Columns: id, username, password, sex, age
<==        Row: 1, tom, 123, nan, 22
<==        Row: 2, qq, 123456, nu, 23
<==        Row: 3, aa, 11111, nan, 20
<==        Row: 4, cd, 123456, nan, 21
<==      Total: 4

添加:http://localhost:8081/insert?id=5&username=dd&password=123456&sex=nan&age=25

==>  Preparing: select * from student
==> Parameters: 
<==    Columns: id, username, password, sex, age
<==        Row: 1, tom, 123, nan, 22
<==        Row: 2, qq, 123456, nu, 23
<==        Row: 3, aa, 11111, nan, 20
<==        Row: 4, cd, 123456, nan, 21
<==        Row: 5, dd, 123456, nan, 25
<==      Total: 5

删除:http://localhost:8081/delete/4

==> Parameters: 
<==    Columns: id, username, password, sex, age
<==        Row: 1, tom, 123, nan, 22
<==        Row: 2, qq, 123456, nu, 23
<==        Row: 3, aa, 11111, nan, 20
<==        Row: 5, dd, 123456, nan, 25
<==      Total: 4

修改:http://localhost:8081/update?id=5&username=LL&password=1256&sex=nu&age=20

 

==> Parameters: 
<==    Columns: id, username, password, sex, age
<==        Row: 1, tom, 123, nan, 22
<==        Row: 2, qq, 123456, nu, 23
<==        Row: 3, aa, 11111, nan, 20
<==        Row: 5, LL, 1256, nu, 20
<==      Total: 4

操作后的student表数据:

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

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

相关文章

文件批量管理利器,一键复制备份安全删除原文件,让文件管理更高效!

在数字化时代&#xff0c;我们每天都在与各种文件打交道&#xff0c;从文档、图片到视频、音频&#xff0c;文件的管理和存储变得越来越重要。然而&#xff0c;手动逐个处理文件不仅繁琐&#xff0c;还容易出错。那么&#xff0c;有没有一种方法可以让我们轻松实现文件的批量管…

如何提高Verilog代码编写水平?

在IC设计端的诸多岗位中&#xff0c;只要提到基础知识和必备技能&#xff0c;就一定少不了Verilog。 按照20年芯片设计老兵的说法“1. 知道module的基本框架。2. 知道怎么写assign&#xff0c;和always块。3. 其他没有了。” 也就是说用VerilogHDL做设计不要追求花架子&#…

鸿蒙开发系列教程(二十五)--样式处理(一)

1、样式属性 参考网址&#xff1a;https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/ts-universal-attributes-text-style-0000001427902436-V3 属性方法以 . 链式调用的方式配置系统组件的样式和其他属性 Entry Component struct Index {build() …

由浅到深认识Java语言(1):前提概要

该文章Github地址&#xff1a;https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板&#xff08;Github仓库地址&#xff1a;https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址&#xff1a;https://blog.c…

linux常用命令指南

什么是Linux命令&#xff1f; Linux命令是在Linux操作系统中用于执行特定任务的命令行工具。它们被用于管理文件和目录、执行程序、配置系统设置等。Linux命令通常由一个命令名称和一些选项或参数组成&#xff0c;并且可以通过命令行界面&#xff08;CLI&#xff09;或脚本文件…

C语言例3-24:赋值表达式的例子

代码如下&#xff1a; #include<stdio.h> int main(void) {int i1,j;float f2.0f;// printf("fi-1 :%0.1f\n",fi-1); //ff(i-1)2.0// printf("ii>f :%d\n",ii>f); //i>f -->0 -->i0// printf("j!(i1) :%d\n",j…

智能ai文生视频,文生动漫小程序,系统搭建开发

目录 前言&#xff1a; 一、文生动漫系统搭建常规步骤 二、文生漫画是怎么操作的 总结&#xff1a; 前言&#xff1a; 小说推文是继短视频之后的又一个黄金赛道&#xff0c;它最大的特点就是&#xff0c;有一个人观看了你推荐的小说就有一份收益。那么使用系统小说转漫功能…

AI换脸软件rope最新更新的蓝宝石中文版下载

rope换脸软件蓝宝石版下载地址&#xff1a;点击下载 最近AI软件非常的火爆&#xff0c;今天就给大家带来一个可以AI替换人脸的工具rope&#xff0c;得益于机器学习技术的不断发展&#xff0c;rope经过深度神经网络的无数次迭代优化&#xff0c;最终得出的模型可以自动学习和识…

八大排序算法

排序算法 排序的概述排序的分类分为5大类&#xff1a;优点及缺点如何选择排序算法 八种排序之间的关系:一、插入排序直接插入排序动图详解代码实现 希尔排序动图详解代码实现 二、交换排序冒泡排序:动图详解代码实现 快速排序:动图详解代码实现 三、选择排序直接选择排序动图详…

Echo服务器学习__01(基础)

ASIO是一个跨平台&#xff0c;主要用于实现异步网络和其他一些底层I/O操作的C库 可以基于ASIO实现Echo服务端&#xff0c;在这之前&#xff0c;学习一些基础的知识和概念 ​ 1&#xff1a;IO多路复用 简单的来说&#xff0c;一个线程同时监听多个I/O事件就是I/O多路复用。任…

边缘计算+WEB端应用融合:AI行为识别智能监控系统搭建指南 -- 边缘设备图像识别及部署(二)

专栏目录 边缘计算WEB端应用融合&#xff1a;AI行为识别智能监控系统搭建指南 – 整体介绍&#xff08;一&#xff09; 边缘计算WEB端应用融合&#xff1a;AI行为识别智能监控系统搭建指南 -- 边缘图像识别及部署&#xff08;二&#xff09; 前言边缘图像识别与推流整体思路原始…

【人工智能】Gitee AI 天数智芯有奖体验开源AI模型,一定能有所收货,快来体验吧

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章。 这是《人工智能》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 目录 前言两大赛道天数智芯1.模型地址2.天数智芯专区3.选择模型4.模型详情页5.部署模型6.成功部署7.执行例子8.移除模型 千模盲…

Flutter-仿淘宝京东录音识别图标效果

效果 需求 弹起键盘&#xff0c;录制按钮紧挨着输入框收起键盘&#xff0c;录制按钮回到初始位置 实现 第一步&#xff1a;监听键盘弹起并获取键盘高度第二步&#xff1a;根据键盘高度&#xff0c;录制按钮高度计算偏移高度&#xff0c;并动画移动第三步&#xff1a;键盘收起…

Unbuntu20.04 git push和pull相关问题

文章目录 Unbuntu20.04 git push和pull使用&#xff11;&#xff0e;下载[Git工具包](https://git-scm.com/downloads)&#xff12;&#xff0e;建立本地仓库&#xff13;&#xff0e;将本地仓库与github远程仓库关联&#xff14;&#xff0e;将本地仓库文件上传到github远程仓…

nuxt3项目总结

nuxt3项目总结 仓库 前言 大半年的时间&#xff0c;项目从秋天到春天&#xff0c;从管理后台到APP再到数据大屏&#xff0c;技术栈从vue3到uniApp再到nuxt3&#xff0c;需求不停的改&#xff0c;注释掉代码都快到项目总体的三分之一。 一、准备-搭建项目架子 1.1 创建一个…

图片怎么转jpg格式?一键完成图片格式转换

jpg图片格式作为最常用的图片类型之一&#xff0c;经常出现在不同的使用场景中&#xff0c;如果遇到手上的图片不是jpg格式的话&#xff0c;就需要图片转jpg之后再操作&#xff0c;那么该如何进行图片转换格式呢&#xff1f;试试本文分享的这个图片转格式的方法吧&#xff0c;利…

【经验分享】Wubuntu------体验Windows和Ubuntu的结合体

【经验分享】Wubuntu------体验Windows和Ubuntu的结合体 最近看到有一款Wubuntu的文章&#xff0c;对于习惯使用windows操作系统&#xff0c;又不熟悉ubuntu系统的程序员小白来说&#xff0c;可以说是福音了。目前的Wubuntu兼容性可能还有一点问题&#xff0c;如果再迭代几次的…

YOLOV5 改进:增加注意力机制模块(SE)

1、前言 本章将介绍yolov5的改进项目,为v5增加新的模块---注意力机制、SE模块 大部分更改的代码是重复的,只有少部分需要更改,下面会详细讲解 yolov5的yaml文件介绍:YOLOV5 模型:利用tensorboard查看网络结构和yaml文件介绍-CSDN博客 yolov5的模块更改,C3更改为C2f模块…

18个惊艳的可视化大屏(第27辑):安防与安全预警

可视化大屏在安防和安全预警领域具有以下几个重要作用&#xff1a; 实时监控和预警 可视化大屏可以将各种安防设备&#xff08;如摄像头、传感器等&#xff09;的监控画面和数据集中显示在一个屏幕上&#xff0c;实现对安全状况的实时监控。同时&#xff0c;通过设置预警规则…