zoukankan      html  css  js  c++  java
  • Mybatis--使用set修改内容成功,但没有修改数据库的原因

    在第一次学习mybatis的时候,使用set进行修改表中内容,修改成功,查询也能查询到修改后的内容,但所数据库数据却没有被修改

    Teacher teacher = new Teacher();
            teacher.setTid(1);
            teacher.setTname("ccc");
            int i = classDao.updateTeacher(teacher);
            System.out.println("修改了"+i+"条记录");
            List<Teacher> teachers = classDao.selectTeacher();
            System.out.println(teachers);

    控制台显示结果执行成功,且查询teacher表的数据结果正确。

    但是进入数据库表查看时发现数据库中的数据并没有被修改。

    这个原因是因为mybatis默认不是自动提交事务的, 所以其实没有修改数据库,

    刚刚新增完后立即返回的结果,是从mybatis为了提高性能设置的缓存里读取的,不是从数据库读取的

    解决的办法:一是在openSession() 的括号里写true, 设定自动提交事务,

            二是在代码中加入session.commit()  手动提交事务

     1、设定自动提交openSession( autoCommit=true)

     2、手动提交事务session.commit()

  • 相关阅读:
    django-day3 Ajax
    django ORM 一对多, 多对多 查询 以及 结合Tamplate
    work-python 脚本 每日发送数据查询
    day16- django
    day15 Jquery
    day 14 JS 练习
    day14 JS-DOM 对象
    day14 JS-BOM
    day14 JS 对象 Function
    day14 js
  • 原文地址:https://www.cnblogs.com/axinga/p/14568945.html
Copyright © 2011-2022 走看看