`
flashdream8
  • 浏览: 667945 次
  • 性别: 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插入数据之后返回插入记录的id,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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

    最初的时候是使用mybatis,后来升级到mybatis plus。按照mp的官网介绍,使用mp的insert方法,对于自增的数据库表,mp会把主键写入回实例的对应属性。但实际操作起来,却没有主键。 entity 类设置如下: @TableName...

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

    本文给大家分享MyBatis批量插入(insert)数据操作知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧

    springmybatis

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

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

    主要介绍了Mybatis批量插入数据返回主键的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

    mybatis返回插入的id1

    MyBatis插入数据之后返回插入记录的id MyBatis插入数据的时候,返回该记录的id&lt;insert id="insert

    Mybatis面试题(含答案)_.pdf

    目录: 1. #{}和${}的区别是什么? 2. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应, 请问,这个 Dao 接口的工作原理是什么?...10. 简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系

    ssm整合(springmvc+mybatis+myshoo+jsl)学生管理系统

    写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。 写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。 写Service....

    小程序开发笔记(一):使用mybatis时遇到查询结果返回为空(NULL)的情况,但数据库表有值

    我是用junit进行的接口测试,通过上图可以知道,测试结果返回了7条数据,但是7条数据都为null值。而我的数据库表确是有值的,这说明我的sql语句是没有问题的,于是查看了mapper文件,发现了一个问题。 从上图的...

    GoMybatis:转到ORM库。具有强大的功能,例如事务嵌套,乐观锁,逻辑删除等。 像mybatis一样去golang

    ,可达到751020 Qps / s,总耗时为0.14s(测试环境返回模拟SQL数据,并发1000条,总计100000条,六核16GB win10) ,与大多数Java(Mybatis3,Mybatis Plus)兼容,从Java Spring Mybatis到Go语言的XML SQL文件无痛...

    kellerMapper.jar

    这是一款轻量级的MyBatis插件,在GitHub上发布的有打好的jar包,25.2Kb,导入项目中即可使用,支持创建数据表、自定义查询、分页查询等常用的数据库操作。 依赖包 &lt;groupId&gt;org.mybatis.spring.boot ...

    乐优商城.xmind

    返回 json 数据 @GetMapping("list") ResponseEntity @ResponseBody可以直接返回Json结果 不仅可以返回json结果,还可以定义返回的HttpHeaders和HttpStatus service @Service 自动注册到Spring容器,不需要...

Global site tag (gtag.js) - Google Analytics