需求: 使用MyBatis往MySQL中插入一条数据,返回该条数据的的主键ID
方法如下:
//新增博客
@Insert("insert into t_blog(appreciation,commendable,content,create_time,description," +
"first_picture,flag,published,recommend,share_statement,title,update_time," +
"views,type_id,user_id,tag_ids) " +
"values(#{appreciation},#{commendable}," +
"#{content},#{createTime},#{description},#{firstPicture},#{flag}," +
"#{published},#{recommend},#{shareStatement},#{title},#{updateTime}," +
"#{views},#{typeId},#{userId},#{tagIds})")
@Options(useGeneratedKeys=true,keyProperty="id")
int insBlog(Blog blog);
如上所示:
@Options(useGeneratedKeys=true,keyProperty="id")
其中id代表插入的Blog对象的主键属性。
//实体类
public class Blog {
private Long id; //博客编号
private Integer views; //浏览次数
private String description; //博客描述
private String firstPicture; //博客首图
private String flag; //博客标记
private String title; //博客标题
private Boolean appreciation; //博客赞赏是否开启
private Boolean commendable; //博客评论是否开启
private Boolean published; //是否发布
private Boolean recommend; //是否推荐
private Boolean shareStatement; //转载声明是否开启
private Date createTime; //创建时间
private Date updateTime; //更新时间
private Long typeId; //博客类别编号
private Long userId; //用户编号
private String content; //博客内容
//setter
//getter
}
注意:useGeneratedKeys 参数只针对 insert 语句生效,默认为 false。当设置为 true 时,表示如果插入的表以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键返回。