`
flashdream8
  • 浏览: 680422 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MyBatis insert 后返回数据

 
阅读更多

@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 insert操作插入数据之后返回插入记录的id" MyBatis是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...

    MyBatis_insert

    默认情况下,`insert`操作不返回任何值。但可以通过设置`useGeneratedKeys`和`keyProperty`属性获取自增主键的值,例如: ```xml &lt;insert id="insertUser" useGeneratedKeys="true" keyProperty="id"&gt; INSERT ...

    详解mybatis plus使用insert没有返回主键的处理

    在使用MyBatis Plus (MP) 进行数据操作时,有时可能会遇到插入数据后无法获取自增主键的情况。本文将深入分析这个问题,并提供解决方案。 首先,MyBatis Plus 是 MyBatis 的一个扩展库,它提供了很多方便的数据操作...

    Mybatis返回插入主键id的方法

    Mybatis提供了一种便捷的方式,允许我们在插入数据后返回自动生成的主键值。以下将详细介绍如何在Mybatis中实现这一功能。 首先,你需要在Mapper的XML文件中对`&lt;insert&gt;`标签进行配置。关键属性是`useGeneratedKeys...

    mybatis insert返回主键代码实例

    在使用 MyBatis 进行数据插入时,需要使用 `selectKey` 元素来获取插入后的主键值。`selectKey` 元素可以在插入语句之前或之后执行,具体的实现方法取决于所使用的数据库系统。 对于 Oracle 数据库,使用 `select...

    MyBatis批量插入(insert)数据操作

    在MyBatis中,批量插入数据是一种提高性能的有效方式,特别是在处理大量数据时。本文将详细介绍如何在MyBatis中实现批量插入,并通过一个具体的示例来说明。批量插入操作通常涉及以下关键步骤: 1. **实体类定义**...

    springmybatis

    查询出列表,也就是返回list, 在我们这个例子中也就是 List&lt;User&gt; , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...

    MyBatis在insert插入操作时返回主键ID的配置(推荐)

    其中,在 insert 插入操作时返回主键 ID 是一个非常重要的功能,特别是在需要将插入的数据 ID 用于后续操作或作为外键时。本文将详细介绍 MyBatis 在 insert 插入操作时返回主键 ID 的配置,包括 MySQL 和 Oracle 两...

    MyBatis+MySQL 返回插入的主键ID的方法

    在使用MyBatis进行数据库操作时,有时我们需要在插入数据后获取自动生成的主键ID,这在处理自增主键的场景下尤其常见。在MySQL数据库中,自增主键通常用于标识每条记录的独特性,而在插入新记录后,数据库会自动为这...

    Mybatis批量插入数据返回主键的实现

    Mybatis批量插入数据返回主键的实现 Mybatis是当前最流行的持久层框架之一,它提供了强大的批量插入功能,但是在批量插入数据时如何返回主键是一个常见的问题本文将详细介绍Mybatis批量插入数据返回主键的实现。 ...

    详解MyBatis直接执行SQL查询及数据批量插入

    在本文中,我们将深入探讨如何使用MyBatis直接执行SQL查询以及如何进行数据的批量插入。 **一、直接执行SQL查询** 在MyBatis中,你可以通过Mapper接口和XML配置文件来直接执行自定义的SQL查询。下面是一个简单的...

    springMVC+Mybatis(登录+数据操作)

    例如,创建新用户时,Controller接收表单数据,Service层通过Mybatis执行INSERT SQL,更新用户信息时执行UPDATE SQL,读取用户信息时执行SELECT SQL,删除用户时执行DELETE SQL。 为了实现这些功能,项目中的`...

    最新Mybatis插入数据返回自增主键详细配置

    Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...

    mybatis 批量插入 嵌套select.pdf

    这个别名使得查询能够正常执行,返回所需的数据,而不会试图更新目标表。 总之,MyBatis在处理这种复杂的业务场景时,需要注意SQL语句的结构和数据库的限制。通过使用查询别名,我们可以避免直接引用目标表,从而...

    MyBatis插入数据返回主键的介绍

    MyBatis插入数据返回主键的介绍 MyBatis是一个流行的持久层框架,它提供了许多实用的功能,包括插入数据返回主键的功能。在本文中,我们将详细介绍MyBatis插入数据返回主键的实现方法。 Service层实现 在Service...

    Mybatis使用(上

    在本教程中,我们将深入探讨Mybatis的基础知识,包括它的核心概念、配置、映射文件以及如何在Eclipse环境中进行实际应用,特别是在数据插入方面的实践。 一、Mybatis概述 Mybatis 是由 Google Code 提供的开源项目...

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例

    Mybatis 插入一条或批量插入 返回带有自增长主键记录的实例 Mybatis 是一个基于 Java 的持久层框架,它提供了对数据库的访问和操作的功能。今天,我们将分享一个关于 Mybatis 插入一条或批量插入 返回带有自增长...

    mybatis 实现数据的增删改查小demo

    在这个“mybatis 实现数据的增删改查小demo”中,我们将深入探讨如何使用 MyBatis 进行基本的数据库操作。 首先,我们需要理解 MyBatis 的核心组件:SqlSessionFactory 和 SqlSession。SqlSessionFactory 是一个...

Global site tag (gtag.js) - Google Analytics