前言
在前面几天的时候我写一个项目的时候我发现当我想在数据库中插入一条数据的时候然后查找这条数据的id,我于是想尽各种方法来完成,甚至都想过用UUID去解决这件事,想了一下这样的话可能会造成资源浪费,但是我又实在想不到解决办法,在看老师的一条博客的时候发现有这样的一个方法,在插入语句的时候添加一个这样就可以找到插入这条数据的id了
开始
话不多说先看代码
<insert id="addIssue" parameterType="Issue">
<selectKey keyProperty="issueId" order="AFTER" resultType="Integer">
SELECT LAST_INSERT_ID();
</selectKey>
insert into issue (issueMpqId, issueType,
issueContent, isFill,creationTime)
values (#{issueMpqId},#{issueType},
#{issueContent},#{isFill},#{creationTime});
</insert>
先说说selectkey中的各个值的作用
keyProperty : 表示需要加入这个类的主键id名字
order :中有两个参数 AFTER表示返回自增型的一个id,BEFORE表示返回不自增的,和UUID差不多
resultype: 返回类型
这是引用代码
//添加问题
@RequestMapping("/addIssue")
@ResponseBody
public Map<String , Object> addIssue(Issue issue){
Map<String ,Object> map = new HashMap<>();
issue.setCreationTime(new Date());
int i = issueService.addIssue(issue);
boolean flag = true;
List<Option> listOption = issue.getOptions();
for (Option option : listOption) {
int a = optionService.addOption(option);
if (a < 0){
flag = false;
break;
}
}
if (i < 0){
flag = false;
}
map.put("issueId",issue.getIssueId());
map.put(Common.ISSCUCCESS,flag);
return map;
}
issue实体类
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Issue {
private Integer issueId;// 问题id
private Integer issueMpqId;// 问卷id
private Integer issueType;// 答案的类型(0单选,1多选,2
private String issueContent;// 问题内容
private Integer isFill;// 是否非填 0可不填,1必须填
private Date creationTime;//创建时间
private List<Option> options;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106526.html