@ContextConfiguration("classpath*:applicationContext.xml")
public class TestTestInsert extends AbstractJUnit4SpringContextTests{
@Autowired
private TestInsert testInsert;
@Test
public void testInsertIt(){
TestUser tu = new TestUser();
tu.setName("测试43");
testInsert.insertIt2(tu);
System.err.println("----------"+tu.getId());
}
}
针对自增主键的表,在插入时不需要主键,而是在插入过程自动获取一个自增的主键,比如MySQL,可以采用如下两种配置方式:
<insert id="insertIt" parameterType="testUser" useGeneratedKeys="true" keyProperty="id">
insert into test_insert (name) values (#{name})
</insert>
<insert id="insertIt3" parameterType="testUser">
<selectKey keyProperty="id" resultType="int" order="AFTER" >
SELECT LAST_INSERT_ID() AS id
</selectKey>
insert into test_insert (name) values (#{name})
</insert>
针对Sequence主键而言,在执行insert sql前必须指定一个主键值给要插入的记录,如Oracle、DB2,可以采用如下配置方式:
<insert id="add" parameterType="vo.Category">
<selectKey resultType="java.lang.Short" order="BEFORE"
keyProperty="id">
SELECT SEQ_TEST.NEXTVAL FROM DUAL
</selectKey>
insert into category (name_zh, parent_id,
show_order, delete_status, description
)
values (#{nameZh,jdbcType=VARCHAR},
#{parentId,jdbcType=SMALLINT},
#{showOrder,jdbcType=SMALLINT},
#{deleteStatus,jdbcType=BIT},
#{description,jdbcType=VARCHAR}
)
</insert>
接口的写法:
public interface TestInsert {
void insertIt(TestUser tu);
// 这样写是不行的。不能用(@Param
//void insertIt2(@Param(value="tu")TestUser tu);
}
Test
@ContextConfiguration("classpath*:applicationContext.xml")
public class TestTestInsert extends AbstractJUnit4SpringContextTests{
@Autowired
private TestInsert testInsert;
@Test
public void testInsertIt(){
TestUser tu = new TestUser();
tu.setName("测试43");
testInsert.insertIt2(tu);
System.err.println("----------"+tu.getId());
}
}
分享到:
相关推荐
"MyBatis insert操作插入数据之后返回插入记录的id" MyBatis是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...
默认情况下,`insert`操作不返回任何值。但可以通过设置`useGeneratedKeys`和`keyProperty`属性获取自增主键的值,例如: ```xml <insert id="insertUser" useGeneratedKeys="true" keyProperty="id"> INSERT ...
在使用MyBatis Plus (MP) 进行数据操作时,有时可能会遇到插入数据后无法获取自增主键的情况。本文将深入分析这个问题,并提供解决方案。 首先,MyBatis Plus 是 MyBatis 的一个扩展库,它提供了很多方便的数据操作...
Mybatis提供了一种便捷的方式,允许我们在插入数据后返回自动生成的主键值。以下将详细介绍如何在Mybatis中实现这一功能。 首先,你需要在Mapper的XML文件中对`<insert>`标签进行配置。关键属性是`useGeneratedKeys...
在使用 MyBatis 进行数据插入时,需要使用 `selectKey` 元素来获取插入后的主键值。`selectKey` 元素可以在插入语句之前或之后执行,具体的实现方法取决于所使用的数据库系统。 对于 Oracle 数据库,使用 `select...
在MyBatis中,批量插入数据是一种提高性能的有效方式,特别是在处理大量数据时。本文将详细介绍如何在MyBatis中实现批量插入,并通过一个具体的示例来说明。批量插入操作通常涉及以下关键步骤: 1. **实体类定义**...
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
其中,在 insert 插入操作时返回主键 ID 是一个非常重要的功能,特别是在需要将插入的数据 ID 用于后续操作或作为外键时。本文将详细介绍 MyBatis 在 insert 插入操作时返回主键 ID 的配置,包括 MySQL 和 Oracle 两...
在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...
Mybatis批量插入数据返回主键的实现 Mybatis是当前最流行的持久层框架之一,它提供了强大的批量插入功能,但是在批量插入数据时如何返回主键是一个常见的问题本文将详细介绍Mybatis批量插入数据返回主键的实现。 ...
在本文中,我们将深入探讨如何使用MyBatis直接执行SQL查询以及如何进行数据的批量插入。 **一、直接执行SQL查询** 在MyBatis中,你可以通过Mapper接口和XML配置文件来直接执行自定义的SQL查询。下面是一个简单的...
例如,创建新用户时,Controller接收表单数据,Service层通过Mybatis执行INSERT SQL,更新用户信息时执行UPDATE SQL,读取用户信息时执行SELECT SQL,删除用户时执行DELETE SQL。 为了实现这些功能,项目中的`...
Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...
这个别名使得查询能够正常执行,返回所需的数据,而不会试图更新目标表。 总之,MyBatis在处理这种复杂的业务场景时,需要注意SQL语句的结构和数据库的限制。通过使用查询别名,我们可以避免直接引用目标表,从而...
MyBatis插入数据返回主键的介绍 MyBatis是一个流行的持久层框架,它提供了许多实用的功能,包括插入数据返回主键的功能。在本文中,我们将详细介绍MyBatis插入数据返回主键的实现方法。 Service层实现 在Service...
在本教程中,我们将深入探讨Mybatis的基础知识,包括它的核心概念、配置、映射文件以及如何在Eclipse环境中进行实际应用,特别是在数据插入方面的实践。 一、Mybatis概述 Mybatis 是由 Google Code 提供的开源项目...
Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例 Mybatis 是一个基于 Java 的持久层框架,它提供了对数据库的访问和操作的功能。今天,我们将分享一个关于 Mybatis 插入一条或批量插入 返回带有自增长...
在这个“mybatis 实现数据的增删改查小demo”中,我们将深入探讨如何使用 MyBatis 进行基本的数据库操作。 首先,我们需要理解 MyBatis 的核心组件:SqlSessionFactory 和 SqlSession。SqlSessionFactory 是一个...