遇见问题:使用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和MANAGED
                    JDBC – 这个配置直接使用了 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();
        }
    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓Android天气预报穿衣搭配APP可升级Studio毕业源码案例设计 开发环境: Myclipse/Eclipse/Idea都可以(服务器端) + Eclipse/AndroidStudio都可以(手机客户端) + mysql数据库 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,MVC设计思想! 服务器和客户端数据通信格式: XML格式(用于传输查询的记录集)和json格式(用于传输单个的对象信息) “天气提示 穿衣搭配APP”的开发与实现 天气预报,今天及最近几天的气温变化。模拟天气(服务器端管理员发布天气,以及各个地区的) 生活模块:气温变化提示穿衣搭配(管理员发布公告,根据气温变化) 在虚拟人物进行搭配的风格(安卓端插入个视频文件就可以了) 管理员发布的各个地区的天气 用户就查询自己所在地区的天气 实体ER属性如下: 地区: 地区id,地区名称 用户: 用户名,登录密码,所在地区,姓名,性别,出生日期,用户照片,联系电话,邮箱,家庭地址,注册时间 天气数据: 记录id,天气数据名称,天气数据图像 天气预报: 天气id,地区,天气日期,天气,天气图像,温度,空气质量 生活信息: 信息id,标题,内容,视频文件,发布时间 -------- 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值