-
mybatis 关于插入查询自动增长主键问题5
<insert id="addUserGameToDepot" parameterType="com.ssy.gameking.modules.develop.bean.UserDepotGame">
<selectKey resultType="int" keyProperty="user_game_id">
select last_insert_id()
</selectKey>
INSERT INTO gk_user_depot_game (gk_user_id , game_id , game_quality ,game_basis_price) VALUES
(#{gk_user_id},#{game_id},#{game_quality},#{game_basis_price})
</insert>
配置文件如上,返回值一直为 1 纳闷中!!!2012年9月13日 12:08
3个答案 按时间排序 按投票排序
-
1. 对于支持AUTO_INCREMENT的数据库,使用如下写法更简单:
<insert id="insertAuthor" parameterType="domain.blog.Author" useGeneratedKeys="true" keyProperty="id"> insert into Author (username,password,email,bio) values (#{username},#{password},#{email},#{bio}) </insert>
2. 对于你的这种写法,插入后尝试从UserDepotGame直接获取user_game_id属性值。2012年9月13日 13:53
-
<insert id="Creative.insert" parameterType="Creative" useGeneratedKeys="true" keyProperty="id">
2012年9月13日 13:06
-
<selectKey resultClass="int" type="post" keyProperty="user_game_id" >
select LAST_INSERT_ID() as user_game_id
</selectKey>2012年9月13日 12:22
相关推荐
今天,我们将分享一个关于 Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例。 Mybatis 插入一条或批量插入 在 Mybatis 中,要实现插入一条或批量插入,需要使用 `<insert>` element,并在其中使用 `...
因为 Oracle 不支持自增长主键,所以我们不能使用 `useGeneratedKeys` 属性。相反,我们需要使用 `<selectKey>` 元素来获取插入的主键 ID。 例如: ```xml SELECT SEQ_USER.NEXTVAL as userId from DUAL ...
在MyBatis中,获取插入记录的自增长字段值是一个常见的问题,特别是在使用自动增长字段的数据库管理系统中。下面,我们将详细介绍MyBatis获取插入记录的自增长字段值的方法。 首先,我们需要在MyBatis的Mapper文件...
综上所述,MyBatis提供了灵活的方式来处理主键自动生成,无论是对支持自动增长的数据库,还是需要使用序列的数据库,都能进行有效的适配。通过正确配置`useGeneratedKeys`和`selectKey`元素,开发者可以轻松地在Java...
总之,通过MyBatis的`useGeneratedKeys`和`keyProperty`特性,我们可以方便地在插入记录后获取自增长字段的值,从而简化了数据库操作的复杂性,提高了代码的可读性和可维护性。在实际开发中,根据具体需求,还可以...
其中,`id`通常被设为自动增长字段,以便数据库自动生成唯一标识。 2. **结果映射(Result Map)**: 在`mapper.xml`文件中,定义了`resultMap`来指定字段与实体类属性的对应关系。这样MyBatis可以正确地将查询...
1. 数据库自增长序列:这是最常见的方式,由数据库自身保证唯一性和递增性,适用于单数据库环境。但缺点是不适用于分布式系统,且不同数据库的实现可能不同。 2. UUID:全局唯一,但无法保证顺序,占用空间较大,...
在MyBatis的insert元素中,我们可以设置keyProperty="id"用来指定要返回的主键id,而useGeneratedKeys="true"则用于获取自增长的ID。 在上面的示例中,我们可以看到insert元素中设置了keyProperty="id"和...
2. **主键自动生成策略**:MyBatis-Plus支持多种主键生成策略,包括Identity(自动增长主键)、雪花算法、序列等,可以根据不同的数据库类型选择合适的策略。 3. **条件构造器**:MyBatis-Plus的QueryWrapper和...
这个特性在处理像MySQL、SQL Server等支持自动增长字段的数据库时特别有用,可以避免进行额外的查询来获取新插入记录的主键。本文将深入探讨`useGeneratedKeys`的工作原理以及它在批量插入和`ON DUPLICATE KEY ...
主键自增是数据库表设计中常见的需求,Mybatis-Plus支持主键自动增长,无需手动设置,这在插入新记录时尤其方便。 自动填充是指在特定操作(如插入或更新)时,系统自动填充某些字段。Mybatis-Plus允许用户定义一些...
在数据库操作中,经常需要插入数据到表中,而表中的主键字段通常是自增长的。当数据插入成功后,往往需要获取这个自增长的ID,以便于后续的业务处理或者关联其他表的数据。因此,在MyBatis中提供了一种机制来获取自...
第17、18集则关注于自增主键的处理,17集展示了如何获取插入后自动生成的主键,通常在MySQL等支持自动增长主键的数据库中使用。而在18集中,针对Oracle数据库,讲解了如何利用序列来生成主键,这是Oracle数据库特有...
提供了多种主键生成策略,包括 Identity(自动增长)、Sequence(序列)、雪花算法等,可以根据不同的数据库环境选择合适的策略。 7. **自定义全局配置**: 可以通过配置文件或注解来设定全局的配置,如逻辑删除...
本文将详细讲解如何在MyBatis中实现Oracle的自增序列,并配置MyBatis以支持Oracle的主键自增长。 首先,你需要在Oracle数据库中创建一个序列对象。例如,你可以创建一个名为`SEQ_TABLE`的序列: ```sql CREATE ...
MyBatis 插入返回主键代码实例详解 MyBatis 是一个流行的持久层框架,它提供了多种方式来处理数据库操作。其中,插入数据并返回主键是一个非常常见的操作场景。本文将详细介绍 MyBatis 中插入返回主键代码实例的...
+ "\n刚刚插入记录的主键自增长值为:" + spares.getId()); } ``` 此外,还有一种方法是使用`<selectKey>`标签。`<selectKey>`允许在插入语句之前或之后执行一个查询,以获取自增主键。例如: ```xml select ...
6. **主键自增**:对于具有自动增长主键的表,MyBatis Plus可以自动处理主键生成问题。 7. **数据权限控制**:提供数据权限控制功能,根据用户角色,限制能查看或操作的数据范围。 在IDEA中配置MyBatis Plus插件的...
4. **主键生成策略**:MyBatis Plus提供了多种主键生成策略,如Identity(自动增长)、Increment(自增)、 ASSIGN_ID(由数据库生成)等,可以根据不同的数据库类型选择合适的方式。 5. **数据权限控制**:可以...
- MySQL:利用自增长特性,通过 SQL 语句 `SELECT LAST_INSERT_ID()` 获取最后插入行的 ID。 #### 7. 关联关系处理 - **处理方式**:支持多种关联查询方式,包括连接查询和两次查询方式。 - 一对多:使用连接...