使用Mybatis进行更新操作成功,数据库却没更新的原因

2023-11-03

先帖下代码:

public void updateCustomerTest() throws IOException{
  //1.读取配置文件
  String resource="mybatis-config.xml";
  InputStream inputStream=Resources.getResourceAsStream(resource);
  //2.根据配置文件构建SqlSessionFactory
  SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
  //3.通过SqlSessionFactory创建SqlSession
  SqlSession sqlSession=sqlSessionFactory.openSession();
  //4.SqlSession执行更新操作
  //4.1创建Customer对象, 对对象中的数据进行模拟更新
  Customer customer=new Customer();
  customer.setId(4);
  customer.setUsername("rose");
  customer.setJobs("programmer");
  customer.setPhone("13311111111");
  //4.2执行SqlSession的更新方法,返回的是SQL语句影响的行数
  int rows=sqlSession.update("cn.hn.mapper.CustomerMapper.updateCustomer",customer);
    //4.3通过返回结果判断更新操作是否执行成功
    if(rows>0){
     System.out.println("你成功修改了"+rows+"条数据!");
    }
    else{
     System.out.println("执行修改操作失败!");
    }
   

执行代码可以看到操作执行成功了在这里理论是入图片描述
此时数据表 t_customer id为5的账户应该更新了,然而并没有发生改变
在这里插然而没入图片描述

摸索一番后发现需要加上 sqlSession.commit(),需要提交事务

int rows=sqlSession.update("cn.hn.mapper.CustomerMapper.updateCustomer",customer);
    //4.3通过返回结果判断更新操作是否执行成功
    if(rows>0){
     System.out.println("你成功修改了"+rows+"条数据!");
    }
    else{
     System.out.println("执行修改操作失败!");
    }
    //4.4提交事务
    sqlSession.commit();
    //5.关闭SqlSession 
    sqlSession.close();

加上**sqlSession.commit()**后再执行一遍,可以发现数据库更新了在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Mybatis进行更新操作成功,数据库却没更新的原因 的相关文章

  • SQL 解析与执行流程

    一 前言 在先前的技术博客中 我们已经详细介绍过数据库的 parser 模块与执行流程 用户输入的 SQL 语句通过词法解析器生成 token 再通过语法分析器生成抽象语法树 AST 经过 AST 生成对应的 planNode 最后执行 p
  • AntDB内存管理之内存上下文之内存上下文机制是怎么实现的

    4 内存上下文机制是怎么实现的 下文将针对内存上下文机制进行代码说明 本次以AntDB的代码为例 来解析内存上下文的实现方式 4 1 最基础的数据结构 MemoryContextData和MemoryContextMethods是内存上下文
  • MyBatis SelectList 输出 CopyOnWriteArrayList

    请耐心解答新手问题 因为我正在尝试同时学习 MyBatis 和 java 我有一个应用程序需要使用线程安全变量 根据一些研究和我对如何使用应用程序的想法 我决定使用 CopyOnWriteArrayList 而不是 Vector 当我从 m
  • 【计算机毕业设计】Java图书馆智能选座系统

    现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本图书馆智能选座系统就是在这样的大环境下诞生 其可以帮助使用者在短时间内处理完毕庞大的数据信息 使用这种软件工具可以帮助管
  • 图解python | 字符串及操作

    1 Python元组 Python的元组与列表类似 不同之处在于元组的元素不能修改 元组使用小括号 列表使用方括号 元组创建很简单 只需要在括号中添加元素 并使用逗号隔开即可 tup1 ByteDance ShowMeAI 1997 202
  • 【计算机毕业设计】北工国际健身俱乐部

    本系统为会员而设计制作北工国际健身俱乐部 旨在实现北工国际健身俱乐部智能化 现代化管理 本北工国际健身俱乐部管理自动化系统的开发和研制的最终目的是将北工国际健身俱乐部的运作模式从手工记录数据转变为网络信息查询管理 从而为现代管理人员的使用提
  • 【计算机毕业设计】趵突泉景区的智慧导游小程序_5ztvv

    当今社会已经步入了科学技术进步和经济社会快速发展的新时期 国际信息和学术交流也不断加强 计算机技术对经济社会发展和人民生活改善的影响也日益突出 人类的生存和思考方式也产生了变化 传统趵突泉景区的智慧导游采取了人工的管理方法 但这种管理方法存
  • 【计算机毕业设计】二手家电管理平台

    时代在飞速进步 每个行业都在努力发展现在先进技术 通过这些先进的技术来提高自己的水平和优势 二手家电管理平台当然不能排除在外 二手家电管理平台是在实际应用和软件工程的开发原理之上 运用java语言以及前台VUE框架 后台SpringBoot
  • 【ES6】解构语句中的冒号(:)

    在解构赋值语法中 冒号 的作用是为提取的字段指定一个新的变量名 让我们以示例 const billCode code version route query 来说明 billCode code version 表示从 route query
  • 30天精通Nodejs--第二十天:express-操作mysql

    目录 前言 安装依赖并配置MySQL连接 安装mysql2库 配置连接信息 在Express应用中使用MySQL 结合Express路由实现CRUD操作 整合到主应用 结语 前言 在Node js中使用Expre
  • 明显的死锁 为未分配的挂起任务创建紧急线程

    我正在将 mysql 与 mybatis 一起使用 并且在我们的实时服务器上遇到此错误 com mchange v2 async ThreadPoolAsynchronousRunner DeadlockDetector 6538f8f2
  • 温室气体排放更敏感的模型(即更高的平衡气候敏感性(ECS))在数年到数十年时间尺度上也具有更高的温度变化(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 光波导结构

    摘要 增强现实和混合现实 AR MR 领域的新应用引起了人们对带有光栅区域的光波导系统的越来越多的关注 这些光波导系统用于输入和输出耦合以及扩瞳目的 VirtualLab Fusion为这类系统的仿真和设计提供了几个强大的工具 其中一个是具
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号
  • MyBatis - jdbcTypeForNull Oracle

    我将 MyBatis 与 Oracle 11g R2 数据库结合使用 我正在使用 MyBatis 3 3 和 ojdbc6 12 1 0 2 我的问题是每当我尝试插入一个空对象时我都会得到以下信息 org springframework j
  • myBatis 中 ArrayList 的类型处理程序

    我正在尝试为 ArrayList 编写类型处理程序 但这给了我错误任何人都可以帮助我 我想将 ArrayList 作为 VARCHAR 存储在数据库中并将其作为 ArrayList 检索 package com someweb typeha
  • Intellij 无法理解 SQL 字符串

    大家 我正在制作一个玩具网络应用程序 它使用 Spring Boot 和 Mybatis Mybatis映射器配置Java接口 我希望 Intellij 能够理解 SQL 字符串 但事实并非如此 我期待像下面这样的 如果它理解 Intell
  • “class java.lang.String”中名为“tablename”的属性没有 getter

    我收到错误There is no getter for property named tablename in class java lang String 当我使用mybatis时 我的映射器 xml 是这样的
  • MyBatis Spring Boot 自定义类型处理程序

    我需要 Spring Boot 和 MyBatis 集成方面的帮助 我对自定义 BaseTypeHandler 有疑问 我创建了一个映射器 MappedTypes LocalDateTime class public class Local
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所

随机推荐

  • unity台桌小游戏

    1 创建桌面 新建一个empty命名为table 创建子物体plane和四个cube 调整位置和大小 并赋予材质设置颜色 table cube1 cube2 cube3 cube4 2 给主相机添加代码 使相机始终跟随小球 using Sy
  • 卡尔曼滤波推导笔记

    文章目录 卡尔曼滤波 Kalman Filter 第一节 递归算法 第二节 数学基础 数据融合 Data Fuslen 协方差矩阵 Covariance Matrix 状态空间表达 State Space Representation 第三
  • VOC数据集和COCO数据集直接的相互转换

    VOC数据集 xml格式 和COCO数据集 json格式 的相互转换 我们先来看看voc和coco数据集的目录结构 以VOC2012数据集为例 下载下来有如下五个文件夹 Annotations文件夹是存放图片对应的xml文件 比如 2007
  • Intellij Idea 将java项目打包成jar

    1 菜单 File gt project stucture 2 在弹窗最左侧选中Artifacts gt 选jar 选择from modules with dependencies 然后会有配置窗口出现 配置完成后 勾选Build on m
  • Sklearn机器学习中fit,transform, fit_transform的区别

    一 简介 机器学习是从大量的数据中学习到相关的规律和逻辑 然后利用他们来预测未知的事物 它通过学习模拟人类的学习行为 能够自身组织和整理已学习到的知识 并在应用中不断地完善自身缺陷 二 机器学习的步骤 获取数据 数据处理 特征工程 标准化
  • QT添加外部库使用方法

    1 编译库 明确一点 不同编译器编译出来的库不一定可以互相使用的 所以尽量你的库文件是使用同一个编译器编译出来 首先找到你的qt所使用的编译器是哪个 一般会在QT的安装目录下的tools文件夹下 比如 D QT Tools mingw492
  • 基于RFID技术应用于图书档案管理

    基于RFID技术应用于图书档案管理 RFID是一种非接触式自动识别技术 通过射频信号自动识别目标对象并获取相关数据 它具有远距离 批量读取 可识别静止和运动状态下的物品信息 同传统的以条形码为代表的自动识别技术相比 RFID技术具有数据自动
  • 【笔记】行人属性识别

    论文 https arxiv org pdf 1901 07474 pdf 以下序号与论文序列不对应 属性可以看作是高层语义信息 对视点变化和观察条件多样性具有更强的鲁棒性 本文试图解决以下几个重要问题 1 传统和基于深度学习的行人属性识别
  • 华为OD机试 Python 【不开心的小朋友】

    描述 在游乐园里 有一些受小孩欢迎的摇摇车 但每辆车只能由一个小孩使用 其他的小孩要么选择等待要么选择离开 那些选择等待但最后未能玩的小孩会感到不开心 你能帮忙计算出哪些小孩会不开心吗 输入 摇摇车的数量 介于1到10之间 小孩的行动序列
  • yolov5源码--网络结构模块

    网络结构模块 可视化 网络配置文件 网络结构解读 代码解读 前向传播 特征提取网络 特征融合网络 检测头 可视化 python models export py weights weights yolov5s pt img 640 batc
  • 重磅:某国产IDE发布,称完全可替代 IntelliJ IDEA

    8 月下旬 一个号称 自主研发 的集成开发环境工具 CEC IDE 被多方质疑造假 最终在 8 月 26 日以官方出面致歉作结 这一事件虽然已经告一段落 但最近关于国产IDE的讨论也有所上升 日前 又一款宣称 纯自研 的国产IDE亮相了 桌
  • (模拟栈 单调栈)acwing828. 模拟栈 830. 单调栈算法基础班第二讲

    题目一 acwing828 模拟栈 实现一个栈 栈初始为空 支持四种操作 push x 向栈顶插入一个数 x pop 从栈顶弹出一个数 empty 判断栈是否为空 query 查询栈顶元素 现在要对栈进行 M 个操作 其中的每个操作 3 和
  • ETL加载策略

    2019独角兽企业重金招聘Python工程师标准 gt gt gt ETL 数据加载机制概述 ETL 是数据抽取 Extract 转换 Transform 加载 Load 的简写 它的功能是从数据源抽取出所需的数据 经过数据清洗和转换 最终
  • 深入理解Java中的反射机制和使用原理!详细解析invoke方法的执行和使用

    反射的概念 反射 Refelection 反射是Java的特征之一 允许运行中的Java程序获取自身信息 并可以操作类或者对象的内部属性 通过反射 可以在运行时获得程序或者程序中的每一个类型的成员活成成员的信息 程序中的对象一般都是在编译时
  • Echarts实现——中国地图

    Echarts实现 中国地图 如下图 使用Echarts进行地图绘制展示的时候 需要china json 举例在vue的项目中可以通过cnpm install echarts save安装Echarts依赖 引入 import china
  • 1h2g云服务器做网站,云服务器1H2G和1H1G的区别

    云服务器1H2G和1H1G的区别 内容精选 换一换 简要介绍一组Java命令行工具 用于处理高通量排序 HTS 数据和格式 开发语言 Java一句话描述 Java命令行工具开源协议 MIT建议的版本根据实际需要选择版本 本文档以picard
  • Vue——vue3+element plus实现多选表格使用ajax发送id数组

    代码来源 Vue 3结合element plus 问题总结二 之 table组件实现多选和清除选中 在vue3中获取ref 的Dom multipletableref value togglerowselection 打印出来的是u 子时不
  • 设计一个算法将无向图的邻接矩阵转为对应邻接表的算法

    typedef struct int vertex m int edge m m gadjmatrix typedef struct node1 int info int adjvertex struct node1 nextarc gli
  • 通达信软件编程写一段抄底的源代码

    下面是一段基于通达信软件编写的抄底源代码 用于自动识别股票的底部形态并发出买入信号 复制 导入通达信软件自带的股票数据接口 import tdxApi 设置股票代码 周期 数据类型等参数 stockCode 000001 SZ 股票代码 p
  • 使用Mybatis进行更新操作成功,数据库却没更新的原因

    先帖下代码 public void updateCustomerTest throws IOException 1 读取配置文件 String resource mybatis config xml InputStream inputStr