1. 程式人生 > >Mybatis插入操作 主鍵自增 返回成功 但是資料庫沒有資料

Mybatis插入操作 主鍵自增 返回成功 但是資料庫沒有資料

如果插入的操作返回成功,但是資料庫沒有資料,一般情況下是因為事務。

下面我們來大概分析下MyBatis。

在MyBatis的配置檔案中:

<environments default="development">
	<environment id="development">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="${jdbc.driver}" />
			<property name="url" value="${jdbc.url}"/>
			<property name="username" value="${jdbc.username}" />
			<property name="password" value="${jdbc.password}" />
		</dataSource>
	</environment>
</environments>

使用了JDBC事務管理器,並交給了MyBatis進行處理,JDBC事務管理器預設情況下是進行自動提交的,但是交給MyBatis處理之後,就變成了手動提交,所以在MyBatis中,進行CRUD操作的時候,只有查詢是不需要自己進行提交的,其他三種操作都需要進行提交。
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession session = sqlSessionFactory.openSession();
EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);
int index = mapper.insertEmployee(new Employee(0, "小七", 0, "
[email protected]
")); session.commit();


相關推薦

Mybatis插入操作 返回成功 但是資料庫沒有資料

如果插入的操作返回成功,但是資料庫沒有資料,一般情況下是因為事務。 下面我們來大概分析下MyBatis。 在MyBatis的配置檔案中: <environments default="devel

mybatismybatis中insert 和不插入情況【mysql】

pro SQ class TE IV rop generate mys bat 主鍵不自增:返回值是插入的條數 <insert id="add" parameterType="EStudent"> insert into TStudent(name,

mybatis批量插入問題

<!--批量增加車輛經緯度記錄--> <insert id="addWycjwdjlTempBatch" > INSERT INTO wycjwdjl_temp (recordid, lng, lat, gpstime, speed, isabled

建立一張Oracle和帶有預設值的資料

0 在建立表前修改一下系統預設時間格式 alter session set nls_date_format = 'yyyy-mm-dd'; 1 建立一個表 CREATE TABLE user_record( ID NUMBER(11) NOT NULL PRIMA

mybatis 實現插入一條記錄的同時,並返回策略是增生成的ID

<insert id="insert" parameterType="com.mmall.pojo.Shipping" useGeneratedKeys="true" keyProperty="id"> insert into mmall_shipping

mybatis 獲得插入操作之後的

Register register = new Register(1,registerEmail, registerPassword, registerTimestamp, lastTimestamp); // 如果註冊成功,儲存登入狀態,前往獲取使用者資訊,否則回到註冊介面 if (registerDa

xorm插入數據庫後返回id

分享 utf8 mage span import bsp ima utf orm golang使用xorm連接數據庫後,插入結構體,無法返回自增主鍵id,飯後的主鍵id都是0。經過研究發現,如果給結構體id設置xorm tag,則會默認id為0,不會返回插入成功後的主鍵id

xorm插入資料庫返回id

golang使用xorm連線資料庫後,插入結構體,無法返回自增主鍵id,飯後的主鍵id都是0。經過研究發現,如果給結構體id設定xorm tag,則會預設id為0,不會返回插入成功後的主鍵id。 xorm文件中如下描述   1 package main 2 3 import

MyBatis+Oracle用foreach標籤實現批量插入資料以及

1.前言          最近做一個批量匯入影像的需求,將多條記錄批量插入資料庫中。解決思路:在程式中封裝一個List集合物件,然後把該集合中的實體插入到資料庫中,因為專案使用了MyBatis,所以打算使用MyBatis的foreach功能進行批量插入。資料庫用的是Ora

oracle實現插入資料

在看ORACLE_PL/SQL例項精解的時候用到了student表,需要自己建立。 1  首先是建表語句 create table student ( student_id number(8) not null primary key, --主鍵列 fi

與不返回 返回

<mapper namespace="test"> <insert id="insertUser" parameterType="dancheng.mybatis.po.User"> <!--

【Java】sql實現插入插入值的,防止遷移資料時報衝突的錯誤;

一、問題 我們要自己造一些測試資料,並且這些SQL指令碼要遷移到其他環境,遷移過程中,如果主鍵寫死,在其他環境,可能會出現主鍵衝突;所以,我們要寫活的主鍵,實現起來也很簡單; 二、解決方法 insert into userInfo(id,name,age)val

MyBatis——useGeneratedKeys

如果你的資料庫支援主鍵自增,例如MySQL和SQL Server,那麼你可以簡單的設定 useGeneratedKeys="true" ,用keyProperty 去指定主鍵名稱, if the Authortable above had used an auto-g

mybatis+mysql/oracle 資料庫批量插入增長

1 mybatis+oracle <!-- https://mvnrepository.com/artifact/com.oracle/ojdbc6 --> <dependency> <groupId>com.oracle&

mybatis設定

做插入資料的時候經常用到插入操作主鍵ID使用資料庫自身的生成方式,比如說自增,或者使用序列號,具體配置如下//mysql設定使用自增的主鍵生成策略,並能獲取生成的主鍵值 <insert id="x

Oracle用觸發器實現插入資料

一篇:首先,你要有一張表!CREATE TABLE example(ID Number(4) NOT NULL PRIMARY KEY,NAME VARCHAR(25),PHONE VARCHAR(10),ADDRESS VARCHAR(50));然後,你需要一個自定義的se

MSSQL

mssql 主鍵自增可以看出每次自增為1具體操作方案 :本文出自 “Better_Power_Wisdom” 博客,請務必保留此出處http://aonaufly.blog.51cto.com/3554853/1943707MSSQL 主鍵自增

oracle數據庫建立序列、使用序列實現

ram name mage -- 不支持 nbsp 主鍵自增 property tar 2.建立序列 -- Create sequence create sequence SEQ_SHIP_IMAGEminvalue 20maxvalue 99999999999999999

oracle sql 創建表格 oracle建表設置

最大 font not 創建表 order sdn start var ace 1.新建table CREATE TABLE ysb_log( id number(8) primary key not null , tbdate varchar(50

oracle數據庫表實現功能

back oracle數據 max 序列 val create 主鍵 new row 有關oracle中自增序列sequence+觸發器trigger:實現數據表TABDATA_LIVE_CYCLE中的主鍵id的自增。 CREATE SEQUENCE TABDATA_LIV