MyBatis-Plus的insert方法通常返回一个整数(int),表示插入操作影响的行数。然而,这并不是我们关心的自增主键id。实际上,MyBatis-Plus通过内部的映射机制,在插入操作执行成功后,将数据库生成的自增主键值回填到传入的实体对象的id属性中。 2. 说明如何获取MyBatis-Plus insert操作后返回的id 要获取MyBatis-Plus in...
<insert id="insert"parameterType="com.xx.entity.Dept"useGeneratedKeys="true"keyProperty="deptno"keyColumn="deptno">insert into dept(deptname,loc) values(#{deptname},#{loc})</insert> 获取: 因为类注解:@Controller. 所有得加上@ResponseBody, 否则会报错。
2.使用mybatis-plus注解 其实跟原生mybatis一样,插入后元素的id会直接映射到参数中,只不过用注解代替了mapper.xml文件 @Insert(value ="INSERT INTO t_XXXX"+"XXX,XXX,XXX "+"VALUES (XXX,XXX,XXX)")@SelectKey(statement="select LAST_INSERT_ID()",keyProperty ="id",before = false,resultType = Long....
userMapper.insert(user);// 获取插入数据的主键 IDLong id = user.getId(); System.out.println("id:"+ id); 怎么样,是不是非常简单呢! Service 层 Mybatis Plus 同样也封装了通用的 Service 层 CRUD 操作,并且提供了更丰富的方法。接下来,我们上手看 Service 层的代码结构,如下图: 定义Service 层 先...
默认情况下按照官方文档的快速开始可以快速集成MybatisPlus。 虽然MB+提供了一些注解,正常情况下除了需要创建一个Mapper继承BaseMapper,其他的不需要配置。 如果我们使用了数据库自增主键并且希望insert方法都返回主键ID,需要配置一下实体类的主键 publicclassWeb_user{@TableId(type=IdType.AUTO)privatelong user_id;priv...
1. 修改id字段类型 将id字段类型改为long, 这样就能保证有足够位数放入生成的id 2. 调整数据库id字段类型 将数据库的id字段的长度(改为20位) 解决方案二 如果想要使用id自增的, 就需要把mybatis-plus这个id生成的功能给关掉 添加注解 在id字段上加上如下注解即可 ...
</insert> 1. 2. 3. 4. 2 接口注解处理 在接口映射器中通过注解@Options分别设置参数useGeneratedKeys,keyProperty,keyColumn值 如下 // 返回主键字段id值 @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") @Insert("insert into t_user (name,age) values (#{name},#{age})"...
1.1、Mysql数据库设置ID自增情况 <insert id="insertUser" parameterType="com.crush.mybatisplus.entity.User">INSERT INTO tb_user (username,password) VALUES(#{username},#{password});<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="id">SELECT LAST_INSERT_ID()</selectKey></insert...
在进行数据插入时,需要根据唯一索引(有时是联合索引,联合索引确定唯一一条记录)进行插入数据,当有更新的数据到来时,能及时更新已保存的记录数据;以往的经验是,根据唯一索引,先查询一下,是否有该条记录,如果有,更新指定字段值后,再进行一次updateById操作,以下介绍一种insertOrUpdate方式,实现插入或更新功能,即当新插入...