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

news2024/12/29 8:47:33

续上篇: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表数据:

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

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

相关文章

[Java基础揉碎]final关键字

目录 介绍 在某些情况下&#xff0c;程序员可能有以下需求&#xff0c;就会使用到final final注意事项和讨论细节 1) final修饰的属性又叫常量&#xff0c;一般用XX_XX_XX来命名 2) final修饰的属性在定义时&#xff0c;必须赋初值&#xff0c;并且以后不能再修改&#…

[AIGC] SQL中的数据添加和操作:数据类型介绍

SQL&#xff08;结构化查询语言&#xff09;作为一种强大的数据库查询和操作工具&#xff0c;它能够完成从简单查询到复杂数据操作的各种任务。在这篇文章中&#xff0c;我们主要讨论如何在SQL中添加&#xff08;插入&#xff09;数据&#xff0c;以及在数据操作过程中&#xf…

【官方】操作指南,附代码!银河麒麟服务器迁移运维管理平台V2.1中间件及高可用服务部署(4)

1.RocketMQ集群模式 主机配置示例&#xff1a; IP 角色 架构模式 对应配置文件 1.1.1.1 nameserver1 master broker-n0.conf 2.2.2.2 nameserver2 salve1 broker-n1.conf 3.3.3.3 nameserver3 salve2 broker-n2.conf 1.1.安装rocketmq 在服务器上安装rocket…

谷歌seo怎么优化产品推广?

想要在谷歌SEO上优化产品推广&#xff0c;关键在于理解和利用搜索引擎的工作原理来提升你的产品在搜索结果中的可见性&#xff0c;结构化数据就很重要了&#xff0c;它能让谷歌更容易理解你的页面内容&#xff0c;让他知道你这个页面不是文章页&#xff0c;主页&#xff0c;而是…

巧用cpl文件维权和免杀(上)

cpl文件 CPL文件&#xff0c;是Windows控制面板扩展项&#xff0c;CPL全拼为Control Panel Item在system32目录下有一系列的cpl文件,分别对应着各种控制面板的子选项 列入我们winR输入main.cpl 将会打开控制面板中的鼠标属性 cpl文件本质是属于PE文件 但cpl并不像exe,更像是dl…

3月份的倒数第二个周末有感

坐在图书馆的那一刻&#xff0c;忽然感觉时间的节奏开始放缓。今天周末因为我们两都有任务需要完成&#xff0c;所以就选了嘉定图书馆&#xff0c;不得不说嘉定新城远香湖附近的图书馆真的很有感觉。然我不经意回想起学校的时光&#xff0c;那是多么美好且短暂的时光。凝视着窗…

手撕算法-盛最多水的容器

描述 分析 两个板之间能盛下的水的量&#xff0c;取决于短板。想让两个板之间能盛下更多的水&#xff0c;需要改变短板的长度。就像水桶效应&#xff1a;那么用两个指针指向容器的两个板&#xff0c;然后每次移动较短的板即可。移动较短的板&#xff0c;可能会增大容积&#x…

芯片设计工程师必备基本功——《Verilog+HDL应用程序设计实例精讲》

进入芯片行业需要学习哪些基本功呢&#xff1f;其实芯片设计工程师的技能是通过多年的经验学习的。在您开始作为芯片设计工程师工作之前&#xff0c;很难给出一个需要的全面的单一列表&#xff0c;也不可能学习所有内容。话虽如此&#xff0c;但您开始芯片设计师职业生涯时必须…

HDFS的Shell操作及客户端配置方法

HDFS进程启停命令 Hadoop HDFS组件内置了HDFS集群的一键启停脚本。 $HADOOP_HOME/sbin/start-dfs.sh&#xff0c;一键启动HDFS集群$HADOOP_HOME/sbin/stop-dfs.sh&#xff0c;一键关闭HDFS集群 执行原理&#xff1a; 在执行此脚本的机器上&#xff0c;启动&#xff08;关闭&…

Java面试题总结200道(四)

76、ApplicationContext 通常的实现是什么? FileSystemXmlApplicationContext &#xff1a;此容器从一个 XML 文件中加 载 beans 的定义&#xff0c;XML Bean 配置文件的全路径名必须提供给它的构造函数。ClassPathXmlApplicationContext&#xff1a;此容器也从一个 XML 文件…

软件签名不一致会出现的原因和采取的措施

软件签名不一致的问题可能涉及到数字签名、证书、应用程序完整性和安全性等多个方面。这个问题对于软件开发和信息安全都是非常重要的&#xff0c;因此需要进行更加深入的讨论和解释。以下是关于软件签名不一致的可能原因的详细解释&#xff1a; 数字签名的作用和原理&#xff…

权限提升-系统权限提升篇数据库提权PostsqlRedis第三方软件提权密码凭据钓鱼文件

知识点 1、数据库到Linux-数据库提权-Redis 3、数据库到Linux-数据库提权-PostgreSQL 4、计算机用户到系统-第三方软件-各类应用 章节点&#xff1a; 1、Web权限提升及转移 2、系统权限提升及转移 3、宿主权限提升及转移 4、域控权限提升及转移 基础点 0、为什么我们要学习权…

【经验分享】转行如何自学Python并且找到工作,分享自己心得

目前信息化产业发展势头很好&#xff0c;互联网就成为了很多普通人想要涉及的行业&#xff0c;因为相比于传统行业&#xff0c;互联网行业涨薪幅度大&#xff0c;机会也多&#xff0c;所以就会大批的人想要转行来学习Python开发。 首先告诉你的是&#xff0c;应届生零基础开始学…

Redis实战篇-4

实战篇Redis 1.3 、实现发送短信验证码功能 页面流程 具体代码如下 贴心小提示&#xff1a; 具体逻辑上文已经分析&#xff0c;我们仅仅只需要按照提示的逻辑写出代码即可。 发送验证码 Overridepublic Result sendCode(String phone, HttpSession session) {// 1.校验手机…

python类属性和global变量区别

数据成员是指在类中定义的变量&#xff0c;即属性&#xff0c;根据定义位置&#xff0c;又可以分为类属性和实例属性。 类属性定义在方法前面。 定义类属性&#xff0c;非全局变量 class MyClass:#global cc 10 ## 类属性def my_function(self):global qwqw 9print(this …

Linux系统部署Paperless-Ngx文档管理系统结合内网穿透实现公网访问

文章目录 1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 Paperless-ngx是一个开源的文档管理系统&#xff0c;可以将物理文档转换成可搜索的在线档案&#xff0c;从而减少纸张的使用。它内置…

获得淘宝app商品详情原数据

网络电商大数据平台实时监测了100余个主流电商交易平台&#xff0c;并通过所能网络完善的数据清洗体系和数学模型整合各平台数据&#xff0c;可实现全面准确掌握所能网络当地网商&#xff08;含企业个人&#xff09;及当地产品在各电商平台的发展动态。 能在秒级完成从数据采集…

新生儿奶瓶怎么选?2024精选宝宝奶瓶推荐榜单

很多新手妈妈都不知道该选择什么样的奶瓶&#xff0c;问我奶瓶买那种好呢&#xff1f;作为一名母婴产品和家电测评博主&#xff0c;我深知市面上的奶瓶品牌琳琅满目&#xff0c;但真正专业、材质安全性高的并不多见。 那什么品牌的新生儿奶瓶质量比较好呢&#xff1f;所以我特…

《论文阅读》因果情绪蕴含的知识桥因果交互网络 AAAI 2023

《论文阅读》因果情绪蕴含的知识桥因果交互网络 AAAI 2023 前言简介任务定义特征提取并行知识桥接因果互动实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天为大家带来的是《Knowledge-Bridged Causal Interac…

Web常见标签属性

应用软件&#xff1a;c/s&#xff08;客户端与服务端&#xff09; b/s&#xff08;服务器与浏览器架构&#xff09;web前端&#xff1a;html5、css3、JavaScriptHtml5&#xff1a;超文本标记语言 超链接标签 语法规范<标签名> marquee 标签之间可以嵌套属性&#xff1a;…