亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

解決myBatis中openSession()自動(dòng)提交的問題

 更新時(shí)間:2024年09月27日 14:19:10   作者:xiaqin149  
在學(xué)習(xí)MySQL過程中,發(fā)現(xiàn)插入操作自動(dòng)提交,問題原因可能是myBatis中的openSession()方法設(shè)置了自動(dòng)提交,或者是MySQL的默認(rèn)引擎設(shè)置為不支持事務(wù)的MyISAM,解決辦法包括更改myBatis的提交設(shè)置或?qū)ySQL表的引擎改為InnoDB

自動(dòng)提交問題

跟著小破站視頻寫的代碼,卻發(fā)現(xiàn)我的插入操作自動(dòng)提交了(視頻中需要手動(dòng)提交);

猜測(cè)是myBatis中有設(shè)置為自動(dòng)提交的方法,于是百度了一下,果然

myBatis中自動(dòng)提交設(shè)置

openSession() 方法有帶參數(shù)為 autoCommit 的布爾值,即是否自動(dòng)提交可以手動(dòng)控制的。

  • 當(dāng)openSession(true),即括號(hào)內(nèi)為true的時(shí)候,mybaits是可以自動(dòng)提交修改后的數(shù)據(jù)的
  • 當(dāng)openSession(),即括號(hào)內(nèi)為空(或false),為手動(dòng)提交,需要最后調(diào)用 session.commit() 來完成數(shù)據(jù)更新操作

查完之后又看了一遍源碼,發(fā)現(xiàn)我寫的確實(shí)是openSession();里面并未添加true;然后又看了幾篇csdn上的攻略還是沒能解決問題

真實(shí)原因

最后想是不是MySQL的引擎問題呢,一開始我覺得應(yīng)該不是,因?yàn)閯?chuàng)表的時(shí)候我特意改過表的引擎就是為了能進(jìn)行事務(wù)操作,所以應(yīng)該是沒問題的

emmmmm........ 不應(yīng)當(dāng)(暈)

然后看了我當(dāng)時(shí)寫的源碼:

ALTER TABLE salgrade ENGINE = InnoDb;

好吧,是我寫錯(cuò)了(也不知道為啥這里我總寫錯(cuò),這個(gè)好像ALTER TABLE 這些要大寫,反正之前寫小寫不對(duì)),用了代碼提示里的表,表改錯(cuò)了(暈),下次直接Navicat吧還是

最終解決方案

把t_student表的引擎改為InnoDB,就能解決問題了

MySQL的所有引擎中只有InnoDB支持事務(wù),別的都會(huì)自動(dòng)提交,所以如果需要實(shí)現(xiàn)事務(wù)功能,務(wù)必保證表的引擎為InnoDB哦

更改默認(rèn)引擎

我百度了一下,說mysql-5.1版本之前默認(rèn)引擎是MyISAM,之后是innoDB,但是我的默認(rèn)卻是MyISAM,不知道為啥(也有可能是我百度錯(cuò)了)

然后想著一勞永逸,直接把默認(rèn)引擎改了得了,過程也不復(fù)雜;

在配置文件my.ini中的找到default-storage-engine,此時(shí)默認(rèn)為MyISAM將等號(hào)后改為INNODB即可,當(dāng)然這要先重啟MySQL才能生效

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring的13個(gè)經(jīng)典面試題

    spring的13個(gè)經(jīng)典面試題

    Spring框架是一個(gè)開放源代碼的J2EE應(yīng)用程序框架,是針對(duì)bean的生命周期進(jìn)行管理的輕量級(jí)容Spring解決了開發(fā)者在J2EE開發(fā)中遇到的許多常見的問題,我們這篇文章就來了解一下spring的面試題
    2021-06-06
  • Java Property類使用詳解

    Java Property類使用詳解

    這篇文章主要介紹了Java Property類使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JAVA?OOM內(nèi)存溢出問題深入解析

    JAVA?OOM內(nèi)存溢出問題深入解析

    這篇文章主要為大家介紹了JAVA?OOM內(nèi)存溢出問題深入解析,在生產(chǎn)環(huán)境搶修中,我們經(jīng)常會(huì)碰到應(yīng)用系統(tǒng)java內(nèi)存OOM的情況,這個(gè)問題非常常見,今天我們就這個(gè)問題來深入學(xué)習(xí)探討一下
    2023-10-10
  • Spring詳解使用注解開發(fā)流程

    Spring詳解使用注解開發(fā)流程

    這篇文章主要為大家詳細(xì)介紹了Spring如何使用注解開發(fā),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-05-05
  • Java基于注解實(shí)現(xiàn)的鎖實(shí)例解析

    Java基于注解實(shí)現(xiàn)的鎖實(shí)例解析

    這篇文章主要介紹了Java基于注解實(shí)現(xiàn)的鎖實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • SpringBoot整合達(dá)夢(mèng)數(shù)據(jù)庫的教程詳解

    SpringBoot整合達(dá)夢(mèng)數(shù)據(jù)庫的教程詳解

    這篇文章主要給大家介紹了SpringBoot整合達(dá)夢(mèng)數(shù)據(jù)庫的詳細(xì)教程,文章中有詳細(xì)的圖片介紹和代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java通過word模板實(shí)現(xiàn)創(chuàng)建word文檔報(bào)告

    Java通過word模板實(shí)現(xiàn)創(chuàng)建word文檔報(bào)告

    這篇文章主要為大家詳細(xì)介紹了Java如何通過word模板實(shí)現(xiàn)創(chuàng)建word文檔報(bào)告的教程,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-09-09
  • 解決SpringBoot掃描不到公共類的實(shí)體問題

    解決SpringBoot掃描不到公共類的實(shí)體問題

    這篇文章主要介紹了解決SpringBoot掃描不到公共類的實(shí)體問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    Java數(shù)據(jù)結(jié)構(gòu)之鏈表詳解

    本篇文章我們將講解一種新型的數(shù)據(jù)結(jié)構(gòu)—鏈表,鏈表是一種使用廣泛的通用數(shù)據(jù)結(jié)構(gòu),它可以用來作為實(shí)現(xiàn)棧,隊(duì)列等數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ).文中有非常詳細(xì)的介紹,需要的朋友可以參考下
    2021-05-05
  • Java深入探索線程安全和線程通信的特性

    Java深入探索線程安全和線程通信的特性

    這篇文章主要介紹了Java線程安全和線程通信的特性,線程安全是多線程編程時(shí)的計(jì)算機(jī)程序代碼中的一個(gè)概念。在擁有共享數(shù)據(jù)的多條線程并行執(zhí)行的程序中,線程安全的代碼會(huì)通過同步機(jī)制保證各個(gè)線程都可以正常且正確的執(zhí)行,不會(huì)出現(xiàn)數(shù)據(jù)污染等意外情況
    2022-05-05

最新評(píng)論