MyBatis进行insert操作时不能将数据插入到数据库

MyBatis进行数据库增删改查时,明明表里有数据却查不出结果,同样主键的数据可以多次插表成功但是其实并未真正插入到表里,经过几次尝试,发现问题在于MyBatis_config.xml文件的transactionManager属性配置不正确,将type从JDBC改到MANAGED则可正常操作。公司的电脑则需要将MANAGED改为JDBC才可以正常操作。

查看了下transactionManager属性的说明,MANAGED是不会自动提交和回滚的,原因还在进一步查明中,先记下来。

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<environments default="development">

<!-- development:开发模式 -->

<!-- work:发布模式 -->

<environment id="development">

<transactionManager type="MANAGED" />

<dataSource type="POOLED">

<property name="driver" value="oracle.jdbc.driver.OracleDriver" />

<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" />

<property name="username" value="PWDMANGER" />

<property name="password" value="PWDMANGER" />

</dataSource>

</environment>

</environments>

<mappers>

<mapper resource="config/testMapper.xml"/>

</mappers>

</configuration>

时间: 2024-10-01 02:28:39

MyBatis进行insert操作时不能将数据插入到数据库的相关文章

Mybatis在insert操作时返回主键

今天在写项目的时候,遇到一个需求,就是在像数据库插入数据的时候,要保留插入数据的主键,以便后续进行级联时,可以将该主键作为另张表的外键. 但是在正常情况下我们使用插入语句返回的是int型,含义是影响该表数据的条数.但是这时候我们想要的得到的却是主键,这时候就可以对mybatis文件进行配置 如图: 属性详解: parameterType ,入参的全限定类名或类型别名 useGeneratedKeys ,取值范围true|false(默认值), 设置是否使用JDBC的getGenereatedKe

Replicate_Do_DB 参数发现跨库操作时从库数据不更新

问题:使用复制是设置  Replicate_Do_DB 参数发现跨库操作时从库数据不更新 1 设置从库的 replicate_do_db = test 2 主库的sql语句是跨库的insert    在test7 上插入数据到test.a 的表上. use test7; 3 主库数据更新后查看从库信息发现数据并没有插入 4 原因是mysql 在执行sql前检查的当前默认库,所以跨库的sql语句不会被执行. 解决方案: 1 使用参数   replicate-wild-ignore-table =t

Mybatis 插入insert操作时获取主键

转载于 http://blog.csdn.net/lklinkang/article/details/6185927 插入操作 对于自增主键的表,插入可以不配置插入的主键列.否则是必须的. 获取主键      插入语句之前配置:主要是针对Sequence主键而言,插入前必须指定一个主键值给要插入的记录.Oracle.DB2亦如此,方法是在插入语句标签<insert....>之前配置上: <insert id="AltName.insert" parameterType

jdbc执行Oracle数据库(oracle10g)Insert操作时 日期类型时间部分丢失的问题.

用ibatis执行一个Insert语句时,日期类型时间部分丢失,对应的java类型是java.util.Date.数据库对应的类型是DATE 解决办法:把java.util.Date转换成java.sql.TimeStamp 时间戳类型..

MyBatis Mapper insert操作返回自增Id

在insert标签中添加主键在实体类中的字段keyProperty="id" <insert id="add" useGeneratedKeys="true" keyColumn="id" keyProperty="id"> 这样在insert操作后,会将操作完成的新记录注入回传进来的对象中 原文地址:https://www.cnblogs.com/esrevinud/p/12291646.ht

将备份中的数据插入到数据库中的具体步骤

问题:删除用户数据库中的数据时,把用户数据库中的一些数据误删除了,现在需要将已删除的那些数据插入到目前用户现在正在是用的数据库中(已做好数据备份bak文件) 首先将备份文件还原到本地数据库,还原成功. 在目标表中查找到我们所需要插入的数据: SELECT * FROM  dbo.Remarks  WHERE DATEDIFF (DAYOFYEAR, CreateTime,getdate ())<90 AND tag is NULL 继续进行下一步操作,将所查找到的那些需要插入到数据库中的的数据添

[oldboy-django][2深入django]老师管理 -- form表单如何生成多选框标签,多选框的默认值显示,以及多选框数据插入到数据库,多选框数据更改到数据库

1 form表单如何生成多选框(包含了多选框可选择内容) - Form设置班级输入框为 select多选 - 多选 class TeacherForm(Form): name = fields.CharField(max_length=16, widget=widgets.TextInput(attrs={'class': 'form-control'}) ) cls = fields.MultipleChoiceField( choices=models.Classes.objects.val

oracle将查询到的数据插入到数据库的表中

一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中.   例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下SQL语句:   create table b as select * from a   二.Oracle数据库中支持把查询结果导入到另外一张表中.   例如:有两个表A和B   1)如果两个表的表结构是否相同,但要插入的字段类型相同:   (1)把A表的全部字段数据插入到B表中: insert into B select * from A;   (2)把A表中

mybatis 做 insert操作的时候返回插入的那条数据的id

著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:吃丸子的小鹿链接:http://www.zhihu.com/question/20810321/answer/16843223来源:知乎 对于支持自动生成主键的数据库(如SQL Server),可以采用以下方式 <insert id="xxx" parameterType="yyy" useGeneratedKeys="true" keyProperty="