为什么mybatis插入一条数据的时候必须的提交事务?

问题描述

刚刚开始学习Mybatis,在配置文件里面有看到<transactionManager type="JDBC" /> 为什么在使用session.insert(...)之后还得提交事务呢?

解决方案

嗯 底层用的Connection,假如 conn.setAutoCommit(false)了就必须手动提交了,因为可能你的数据操作分几步的 mybatis也不知道你到底有多少数据操作步骤,所以肯定得设置成手动提交 让你显示提交咯。
解决方案二:
当然要提交了,没有事务怎么成,难道你以为session.insert就插入了?

时间: 2024-10-23 01:30:09

为什么mybatis插入一条数据的时候必须的提交事务?的相关文章

SQL Sever怎样同时插入N条数据而不在程序里控制

问:"怎样同时插入N条数据,却不在程序里控制?" 答:"由于SQL Sever不支持数组参数.所以只能用另类的办法了.利用SQL Server强大的字符串处理传把数组格式化为类似"1,2,3,4,5,6". 然后在存储过程中用SubString配合CharIndex把分割开来. 详细的存储过程: CREATE PROCEDURE dbo.ProductListUpdateSpecialList @ProductId_Array varChar(800),

oracle 数据库...-oracle 数据库插入一条数据,某字段如何自动递增1

问题描述 oracle 数据库插入一条数据,某字段如何自动递增1 oracle 数据库插入一条数据,某字段如何自动递增1,oracle 数据库插入一条数据,某字段如何自动递增1,在线等.急急急.求大指点 解决方案 1,使用序列 2,手动使用变量++然后执行插入数据库记录 解决方案二: oracle 字段递增 表插入数据,id自动增1 解决方案三: Oracle里有序列,使用序列来实现 解决方案四: 序列: 是oacle提供的用于产生一系列唯一数字的数据库对象. l 自动提供唯一的数值 l 共享对

java jdbc-向mysql中插入50000条数据怎么那么慢。。。

问题描述 向mysql中插入50000条数据怎么那么慢... package cn.itcast.bath; import java.sql.Connection; import java.sql.PreparedStatement; import org.junit.Test; import cn.itcast.jdbc.JDBCUtils; public class Bath { @Test public void demo1() { Connection conn=null; Prepar

JdbcTemplate插入一条数据到Oracle数据库并返回自增长ID

问题描述 我的需求就是需要循环插入一组数据,因为数据库是按照自增长ID关联的,所以每插入一条数据,都要返回自增长的ID,用来设置关联关系,我用JdbcTemplate可以实现一组数据的插入并返回ID,但是循环两次以上就出错了:org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;uncategorizedSQLExceptionforSQL[insertintoT_METADATA_ABSTRAC

oracle-怎么插入多条数据。各路大神!

问题描述 怎么插入多条数据.各路大神! 像发邮件那样,多个用户名,用:隔开,存同一条信息.怎么插入到数据库中啊!各路大神. 解决方案 1.如果你用程序往里存的话,比较简单,将这些用户按照";"截取,然后批量存入数据库,或者单条循环存入数据库. 2.如果直接写sql语句往数据库存的话,可以借助一下notePad软件功能: 1)在在文本上写一条插入语句,如:insert into table(userName, content, createTime) values('', '测试', '

插入多条数据回滚-hibernate 手动控制事务回滚失败

问题描述 hibernate 手动控制事务回滚失败 spring配置: 5201005100 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" />

string-关于数据库中插入多条数据,其中有一项关于to_date的问题

问题描述 关于数据库中插入多条数据,其中有一项关于to_date的问题 String sql = "insert into TestInfo(tiName, to_date('tiStartTime','YYYY-MM-DD' ),tiState,TiGrade) values(?,?,?,?)"; 这句数据库语句关于to_date的地方有哪里不对?为什么会报错说缺失逗号 解决方案 to_date('tiStartTime','YYYY-MM-DD' ) 这个位置应该是一个字段名称,怎

一个关于插入一条数据如何拿该条数据主键的问题

问题描述 一个关于插入一条数据如何拿该条数据主键的问题 String action=request.getParameter("action"); if(action !=null && action.trim().equals("post")){ String title=request.getParameter("title"); System.out.println(title); String cont=request.g

用一条mysql语句插入多条数据_Mysql

       假如有一个数据表A: id name title addtime         如果需要插入n条数据 : $time= time(); $data = array( array( 'name'=>'name1','title'=>'title1','addtime'=>$time; ), array( 'name'=>'name2','title'=>'title2','addtime'=>$time; ), array( 'name'=>'nam