@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插入数据之后返回插入记录的id,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
最初的时候是使用mybatis,后来升级到mybatis plus。按照mp的官网介绍,使用mp的insert方法,对于自增的数据库表,mp会把主键写入回实例的对应属性。但实际操作起来,却没有主键。 entity 类设置如下: @TableName...
本文给大家分享MyBatis批量插入(insert)数据操作知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧
查询出列表,也就是返回list, 在我们这个例子中也就是 List<User> , 这种方式返回数据,需要在User.xml 里面配置返回的类型 resultMap, 注意不是 resultType, 而这个resultMap 所对应的应该是我们自己配置的 ...
主要介绍了Mybatis批量插入数据返回主键的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Mybatis插入数据返回自增主键 Mybatis插入数据以后只会返回影响的数据库行数,如果是插入一条数据成功则返回1,失败返回零,插入多条返回插入成功的数量。 通过注解或者xml配置无法直接返回自增的主键。Mybatis插入...
MyBatis插入数据之后返回插入记录的id MyBatis插入数据的时候,返回该记录的id<insert id="insert
目录: 1. #{}和${}的区别是什么? 2. 通常一个 Xml 映射文件,都会写一个 Dao 接口与之对应, 请问,这个 Dao 接口的工作原理是什么?...10. 简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系
写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。 写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。 写Service....
我是用junit进行的接口测试,通过上图可以知道,测试结果返回了7条数据,但是7条数据都为null值。而我的数据库表确是有值的,这说明我的sql语句是没有问题的,于是查看了mapper文件,发现了一个问题。 从上图的...
,可达到751020 Qps / s,总耗时为0.14s(测试环境返回模拟SQL数据,并发1000条,总计100000条,六核16GB win10) ,与大多数Java(Mybatis3,Mybatis Plus)兼容,从Java Spring Mybatis到Go语言的XML SQL文件无痛...
这是一款轻量级的MyBatis插件,在GitHub上发布的有打好的jar包,25.2Kb,导入项目中即可使用,支持创建数据表、自定义查询、分页查询等常用的数据库操作。 依赖包 <groupId>org.mybatis.spring.boot ...
返回 json 数据 @GetMapping("list") ResponseEntity @ResponseBody可以直接返回Json结果 不仅可以返回json结果,还可以定义返回的HttpHeaders和HttpStatus service @Service 自动注册到Spring容器,不需要...