關於mybatis進行Update時,無法更新的問題
2017-02-14 傳說中的情人節
問題描述:
今天進行mybatis進行update操作時候,發現程式碼一點錯沒有,但是資料庫始終沒有更新
詳細程式碼:
public Teacher findById(int tid){ try{ teacher = sqlSession.selectOne("TeacherNamespace.findById", tid); sqlSession.commit(); MybatisUtil.closeSqlSession(); }catch(Exception e){ sqlSession.rollback(); } return teacher; }
public void update1(Teacher teacher){ SqlSession sqlSession = MybatisUtil.getSqlSession(); try{ int i = sqlSession.update("TeacherNamespace.upd", teacher); System.out.println(i); sqlSession.commit(); MybatisUtil.closeSqlSession(); }catch(Exception e){ System.out.println(e); sqlSession.rollback(); } }
結果發現:
我自己將SqlSession sqlSession = MybatisUtil.getSqlSession();這句程式碼sqlSession設定為了全域性變數
更新操作根據ID更新,先找出ID對應的,再進行更新,因為全域性變數,所以findById和update1是共用一個sqlSession,但是在執行第一個方法時,由於習慣自己把事務關閉了,所以無法進行Update
解決辦法:
1.每個方法對應一個SqlSession物件,依舊是在每個方法的開頭,寫
Sqlsession sqlSession = MyBatisUtil.getSqlSession;
2.記住select方法不需要提交事務,也不需要關閉物件
相關推薦
關於mybatis進行Update時,無法更新的問題
2017-02-14 傳說中的情人節 問題描述: 今天進行mybatis進行update操作時候,發現程式碼一點錯沒有,但是資料庫始終沒有更新 詳細程式碼: public Teacher findById(int tid){ try{ teacher
【java】【mybatis】在使用mybatis進行批量插入,批量更新等批量操作時,切割In集合List進行分批批量操作的java中的切割代碼
lse span ati 批量更新 次數 sublist 調用 size == 紅字部分代表mybatis的批量操作調用方法: int num = 0; int maxLength = 200; in
用mybatis更新資料,當資料為0時,無法更新
在bean中,count是long型別: private Long count; 需求就是利用下面的更新語句更新bills表中的count和amout <update id="updateBills" parameterType="map" >
Spring Boot 整合Mybatis非starter時,mapper一直無法注入解決
本來呢,直接使用mybatis-spring-boot-starter還是挺好的,但是我們系統比較複雜,有多個數據源,其中一個平臺自己的資料來源,另外一些是動態配置出來的,兩者完全沒有關係。所以直接使用mybatis-spring-boot-starter就很麻煩了,會報下列錯誤: Caused by
MDK生成bin檔案通過USB進行IAP升級時,無法啟動
BOOT 更新微控制器內的使用者程式,方式一般都是模擬器,串列埠,網路口,usb DFU,另類一點CAN也行,但是這些方式都有一個共同點,必須要有相應的上位機配合操作,這個比較麻煩。 另一種方式是把我們的裝置通過USB插入電腦,在電腦上映射出一個磁碟,把升級的.bin檔案拷貝到磁碟中,b
myBatis 操作 mysql時,使用 like 關鍵進行模糊查詢的方法
我嘗試了以下三種方式: 一、 like '%#{mkName}%' 這種方式,myBatis直接報錯,說引數的數量不匹配。 二、 like '%'||#{mkName}||'%' 這種方式不報錯,但是查詢出來的結果是不是對的。比如,對於 mkName這個欄位,資料庫中只有 “小學” 這個值,但是當
VMware tools出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”解決方法
遇到的問題: 安裝VMware Tools的時候提示“正在進行簡易安裝時,無法手動啟動VMware tools安裝”的提示資訊。 解決方法如下: 1.首先關閉當前正在執行的虛擬機器,在虛擬機
安裝 VMware tools出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”解決方法是:
安裝VMware虛擬機器的時候如果出現“正在進行簡易安裝時,無法手動啟動VMware tools安裝”的提示資訊,如下圖所示: 解決方法是: 修改1, 修改2,確認是否為如圖所示。
也來說說關於Hibernate使用update更新資料時,不更新的問題
現在使用hibernate框架的雖然沒有前2年那麼多了,但是還是有很多專案在使用hibernate框架的,畢竟作為一個優秀的持久層框架,hibernate自然有存在的價值。 好了,廢話不多說,結合最近的使用,和大家一起探討一個hibernate經常遇到的問題: 問題描述:
用VMware搭建的Ubuntu無法全屏 “正在進行簡易安裝時,無法手動啟動 VMware Tools 安裝”解決辦法之一
第一次在這裡寫部落格。 相信有不少人遇到過這樣的問題,VM搭建的Ubuntu沒法全屏,於是去網上查,然後我們從“虛擬機器”選項中進行設定,如下圖: 相信也有很多發現這並不能改變什麼,於是筆者自己琢磨一
導入swaggerDemo時,無法識別工程的解決辦法
ger log 工程 無法 nbsp img logs wid 技術 1、在已建立的Java工程中,拷貝至demo中 2、打開.project修改工程名為demo的名字即可。 導入swaggerDemo時,無法識別工程的解決辦法
【BIEE】05_啟動BIEE時,無法啟動BI_SERVER
ini ora biee style server clas gin 無法啟動 onf 本地修改資料庫後,重新啟動BIEE,結果報錯: 點擊【查看日誌信息】後 從這裏是沒看出是什麽問題造成的,那麽我們就要去查詢啟動日誌了 問題解決 找到日誌路徑:D:\obiee\in
mybatis 關聯查詢時,從表只返回第一條記錄解決辦法
bean mod 第一條 solid ews 解決辦法 prop ica 元素 如果兩表聯查,主表和明細表的主鍵都是id的話,明細表的多條只能查詢出來第一條。 造成以上情況可能的
(轉)html 表單提交時,無法獲取到disabled屬性的input值
有效 AS 單元 java check bsp ado 控件 下拉框 input的字段當為disabled是,無法獲取值,無法改變值,所以在表單提交時,獲取不到值。可以用randomly解決這個問題。 <input name="country" id="countr
Python讀取文件,使用split進行分割時,出現ufeff
lin replace little 讀取文件 get txt ace tty 連續 1.問題 使用python3.6對文件讀取時,按照正常套路處理,文件內容類似以下: 啊啊啊 || AAA 不不不 || BBB 當使用utf-8讀取文檔並且使用split函數分割時,發現第
gdb watch 除錯時,無法watch
伺服器實際執行時, 某個物件的某個變數不知道啥時候被改掉了。 用valgrind查了 ,沒有記憶體越界, 那就是邏輯上有問題。 這種情況 gdb 的 watch功能就非常好用。 它能檢測記憶體中的值被改了,就會自動斷點。
Mybatis——insert資料時,手動新增序列作為主鍵
利用mybatis逆向工程生成的xml檔案中,由於oracle中主鍵是number型別,所以只有通過序列來作為主鍵。 更改map.xml檔案: insert into BS_PTN_CONFIG (ID, NETWORKTYPE, CIR, PIR, DI
UICollectionView進行ReloadData時,隱式動畫解決
在重新整理請求後對CollectionView進行reloadData,產生如上圖所示的隱式動畫效果。 解決方式: [self.collectionView reloadData]; [UIView animateWithDuration:0 animations:^{ [
mybatis 返回Map時,key的大小寫問題
mybatis 返回Map時,key的大小寫問題 遇到一個問題,mybatis返回map型別,他的key無論如何都是大寫的。 解決方法:將需要返回的列起一個別名,並且將別名包含在引號內 如:SELECT re
android應用使用sqlite資料庫時,版本更新的相關問題。
首先要明確,資料庫的版本跟應用的版本不是一回事,資料庫的版本是自己在獲取資料庫時設定的。具體來說是在構造方法 public SQLiteOpenHelper(@Nullable Context context, @Nullable String name,