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查找@Overridepublic Student searchStudentById(int id) {return studentMapper.searchStudentById(id);}//删除@Overridepublic int deleteStudentById(int id) {int result1 = studentMapper.deleteStudentById(id);if (result1 == 1) {return 1;} else {return 0;}}//添加@Overridepublic String insertStudent(Student student){int result2=studentMapper.insertStudent(student);if(result2==1){return "添加成功!";}else{return "添加失败!";}}//修改@Overridepublic 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表数据:

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

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

相关文章

基于springboot+vue的乡政府管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Fay数字人<助理版>具体编译步骤,手把手带你避坑 | 多图预警 ( python 3.11 编译环境 超详细教程 )

Fay数字人<助理版>具体编译步骤 系列教程环境描述一、搭建编译环境1、下载anaconda2、下载Fay(带货版)源码 二、Fay编译参数配置&#xff08;手把手教学&#xff09;(一)Fay具体编译步骤(二)配置 aliyun key(三)配置 aliyun 智能语音交互app(四)修改并配置自己的FAY数字…

解决后端传给前端的日期问题

解决方式&#xff1a; 1). 方式一 在属性上加上注解&#xff0c;对日期进行格式化 但这种方式&#xff0c;需要在每个时间属性上都要加上该注解&#xff0c;使用较麻烦&#xff0c;不能全局处理。 2). 方式二&#xff08;推荐 ) 在WebMvcConfiguration中扩展SpringMVC的消息转…

canal问题记录:something goes wrong when doing authentication: auth failed for user:

一、问题描述 部署了1.15服务端 canal.deployer-1.1.5 用于监听mysql的binlog日志&#xff0c;同时在项目中集成了canal client,用于在监听到指定数据表变化时自定义写入es。 服务端配置&#xff1a; 客户端配置&#xff1a; public void run() {// 创建链接CanalConnector …

全流程ArcGIS Pro技术应用

GIS是利用电子计算机及其外部设备&#xff0c;采集、存储、分析和描述整个或部分地球表面与空间信息系统。简单地讲&#xff0c;它是在一定的地域内&#xff0c;将地理空间信息和 一些与该地域地理信息相关的属性信息结合起来&#xff0c;达到对地理和属性信息的综合管理。GIS的…

网络协议与层次划分:探索计算机网络体系结构

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Vulnhub - Symfonos

希望和各位大佬一起学习&#xff0c;如果文章内容有错请多多指正&#xff0c;谢谢&#xff01; 个人博客链接&#xff1a;CH4SER的个人BLOG – Welcome To Ch4sers Blog Symfonos 靶机下载地址&#xff1a;https://www.vulnhub.com/entry/symfonos-1,322/ 0x01 信息收集 …

鼎阳SDS6204示波器EPICS IOC的搭建

三年前曾写过这个文&#xff1a; 鼎阳SDS6204示波器的EPICS IOC调试 文章里有EPICS网站设备IOC搭建的指南&#xff0c;具体搭建IOC的步骤就没详细写了&#xff0c;几年后重新搭建时发现还是费了些力气才搭建起来&#xff0c;因此写此文记录下手把手的过程方便自己以及EPICS的初…

【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet&#xff1a;学习多变量时间序列预测中的多尺度间序列相关性 文献介绍摘要总体介绍背景及当前面临的问题现有解决方案及其局限性本文的解决方案及其贡献 背景知识的相关工作背景知识问题表述&#xff1a; Method论文主要工作1.输入嵌入和剩余连接 (Input Embedding and R…

工业AMR机器人如何实现规模化的柔性生产

在当下高度复杂的工业生产环境中&#xff0c;机器人如何实现规模化的柔性生产&#xff0c;已成为业界关注的焦点。特别是在追求高效率、高质量的生产过程中&#xff0c;团队协作的重要性愈发凸显。富唯智能一体化AMR控制系统&#xff0c;作为机器人的核心指挥部&#xff0c;犹如…

【MySQL】2. 数据库基础

1. 数据库基础&#xff08;重点&#xff09; 1.1 什么是数据库 存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题 文件不利于数据查询和管理 文件不利于存储海量数据 文件在程序中控制不方便 数据库存储介…

Nginx底层基础数据结构

基础数据结构 ngx_int_t 32位操作系统4字节,64位操作系统8字节 解决跨平台以及,普通int类型在x86和x64操作系统上面是4字节,在类型转换时造成内存浪费(如在x64下面转换long类型) typedef intptr_t ngx_int_t;#ifdef _WIN64 typedef __int64 intptr_t; #else typedef _…

【贪心算法】Leetcode 55. 跳跃游戏 45. 跳跃游戏 I

【贪心算法】Leetcode 55. 跳跃游戏 45. 跳跃游戏 II Leetcode 55. 跳跃游戏解法1 贪心 Leetcode 45. 跳跃游戏I解法 贪心 Leetcode 55. 跳跃游戏 ---------------&#x1f388;&#x1f388;55. 跳跃游戏 题目链接&#x1f388;&#x1f388;------------------- 解法1 贪心…

SpringMVC结合设计模式:解决MyBatisPlus传递嵌套JSON数据的难题

&#x1f389;&#x1f389;欢迎光临&#xff0c;终于等到你啦&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;持续更新的专栏《Spring 狂野之旅&#xff1a;从入门到入魔》 &a…

Spark杂谈

文章目录 什么是Spark对比HadoopSpark应用场景Spark数据处理流程什么是RDDSpark架构相关进程入门案例&#xff1a;统计单词数量Spark开启historyServer 什么是Spark Spark是一个用于大规模数据处理的统一计算引擎Spark一个重要的特性就是基于内存计算&#xff0c;从而它的速度…

LSS (Lift, Splat, Shoot)

项目主页 https://nv-tlabs.github.io/lift-splat-shoot 图1&#xff1a;本文提出一种模型&#xff0c;给定多视角相机数据 (左)&#xff0c; 直接在鸟瞰图 (BEV) 坐标系(右)中推理语义。我们展示了车辆分割 (蓝色)&#xff0c;可驾驶区域 (橙色) 和车道分割 (绿色) 的结果。然…

C语言项目:数组与函数实践:扫雷游戏

目录 目录&#xff1a; 1.扫雷游戏分析与设计 1.1扫雷游戏的功能说明&#xff1a; 1.1.1使用控制台实现经典扫雷的游戏 1.1.2游戏可以通过菜单实现继续玩或者退出游戏 1.1.3扫雷棋盘是9*9的格子 1.1.4默认随机布置10个雷 1.1.5 可以排查雷 2.扫雷游戏的代码实现 1.遇到的问题…

项目文章|真菌ChIP-seq+RNA-seq解析脱落酸生物合成的调控机制

组蛋白翻译后修饰是表观遗传调控的主要机制之一&#xff0c;已被证明在基因表达的调控中发挥重要作用&#xff0c;参与真菌发育、感染相关的形态发生、环境应激反应、次级代谢产物的生物合成和致病性。我们分享过不少真菌组蛋白修饰的文章&#xff0c;今天接着带来一篇利用ChIP…

Anaconda安装proplot库

看了一下Anaconda中的环境&#xff0c;现在我有4个&#xff0c;其中gee是一个虚拟环境 因此一般在prompt中装库时要先进入其中一个虚拟环境 conda activate geepip install proplot --no-deps下完了之后&#xff0c;发现版本不对应 conda install matplotlib3.4.3

软件开发项目管理/研发项目管理软件:国产EDA工具厂商行芯科技上线奥博思PowerProject项目管理软件平台

国内领先的EDA工具链提供商杭州行芯科技有限公司&#xff08;以下简称&#xff1a;行芯科技&#xff09;与北京奥博思软件技术有限公司达成战略合作&#xff0c;奥博思软件将基于PowerProject项目管理系统助力行芯科技实现研发项目的全生命周期管理&#xff0c;提升管理效能&am…