当前位置: 首页 > news >正文

遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?

遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?

可能的原因有几种:

  1. 没有提交事务:在使用 MyBatis 进行数据库操作时,需要手动提交事务。你可以在插入数据完成后调用 commit() 方法来提交事务。如果没有提交事务,数据库中的数据不会被实际保存。

  2. 配置问题:请确保你的数据库连接配置正确,并且连接到了正确的数据库。可以检查配置文件中的数据库URL、用户名和密码等信息是否正确。

  3. SQL语句错误:请检查你的插入语句是否正确。可能存在语法错误或者数据类型不匹配等问题导致插入失败。可以尝试手动执行相同的 SQL 语句来验证。

  4. 数据库自动提交设置:有些数据库默认情况下是自动提交的,即每次执行 SQL 语句后会自动将修改保存到数据库。如果你的数据库是自动提交模式,可能是其他代码修改了数据后没有及时提交导致看不到变化。

  5. 数据库事务隔离级别:如果你在启用了事务的情况下进行插入操作,可能是由于事务隔离级别导致的。可以尝试将事务隔离级别设置为 READ_COMMITTED,或者禁用事务来验证是否能够正常插入数据。

希望以上提示能够帮助你找到问题所在并解决。如果问题仍然存在,请提供更多细节和代码,以便更好地帮助你解决。

第一次代码:

public class InsertDataTest {public static void main(String[] args) {Emp emp =new Emp("102","王二浪","男",29,"23232323232323","武当山","2000-10-20");MyBatisUtil util = new MyBatisUtil();SqlSession sqlSession = util.getSqlSession();int insertData = sqlSession.insert("insertData", emp);System.out.println(insertData);}
}

结果:

控制台结果输出的是没有问题的,趋势输出了,达到了预期效果,但是回到数据库中但是数据没有提交上去,最后发现我们在刚开始配置事务管理器时配置的是如下图,所以是开启了事务的,我们没有提交所以事务不会被提交;

 <!--transactionManager 事务管理器type的值有JDBC和MANAGEDJDBC – 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域,也就是给我们来手动管理事务的提交。--><transactionManager type="JDBC"/>

正确代码:

public class InsertDataTest {public static void main(String[] args) {Emp emp =new Emp("102","王二浪","男",29,"23232323232323","武当山","2000-10-20");MyBatisUtil util = new MyBatisUtil();SqlSession sqlSession = util.getSqlSession();int insertData = sqlSession.insert("insertData", emp);System.out.println(insertData);if (sqlSession != null) {sqlSession.commit();sqlSession.close();}}
}

http://www.lryc.cn/news/165883.html

相关文章:

  • markdown学习笔记
  • C++项目实战——基于多设计模式下的同步异步日志系统-⑧-日志落地类设计
  • 从零开始探索C语言(八)----指针
  • SpringMVC 的三种异常处理方式详解
  • 莫比乌斯召回系统介绍
  • 使用ASM修改组件化 ARouter
  • 第21章_瑞萨MCU零基础入门系列教程之事件链接控制器ELC
  • (二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例
  • vue3:22、vue-router的使用
  • 深入理解JVM虚拟机第五篇:一些常用的JVM虚拟机(二)
  • 导数公式及求导法则
  • SpringMVC系列(六)之JSON数据返回以及异常处理机制
  • 民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查
  • 【CVPR2021】MVDNet论文阅读分析与总结
  • IDEA指定Maven settings file文件未生效
  • swift UI 和UIKIT 如何配合使用
  • c语言练习题55:IP 地址⽆效化
  • nvidia-persistenced 常驻
  • leetcode 42, 58, 14(*)
  • SpringCloud-微服务CAP原则
  • K8S:Yaml文件详解
  • 机器人连续位姿同步插值轨迹规划—对数四元数、b样条曲线、c2连续位姿同步规划
  • 三维模型3DTile格式轻量化压缩的遇到常见问题与处理方法分析
  • 2023-简单点-开启防火墙后,ping显示请求超时;windows共享盘挂在不上
  • 华为Java工程师面试题
  • 大数据Flink(七十四):SQL的滑动窗口(HOP)
  • Hystrix和Sentinel熔断降级设计理念
  • 获取Windows 10中的照片(旧版)下载
  • 【Redis】Redis作为缓存
  • IDEA(2023)解决运行乱码问题