使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增id
先看插入的配置文件:
在insert的标签里加两个属性:useGeneratedKeys="true" keyProperty="id" ,这个keyProperty的id就是我们要返回的主键id
<insert id="addMessge" useGeneratedKeys="true" keyProperty="id" parameterType="com.message.entity.Message">
insert into t_message(
id,
m_title,
m_content,
m_image,
m_state,
m_ip,
m_top,
create_date,
modify_date,
user_id
)
values(
#{id},
#{title},
#{content},
#{image},
#{state},
#{ip},
#{top},
now(),
now(),
#{user.id}
);
</insert>
entity:
public class Message extends BaseEntity{
/** 用户id */
private Integer id;
/** 创建时间 */
private Date createDate;
/** 修改时间 */
private Date modifyDate;
/** 标题. */
private String title;
/** 内容. */
private String content;
/** 姓名. */
private String image;
/** 状态. 00:删除 11:未删除 */
private String state;
/** 留言者ip. */
private String ip;
/** 是否置顶 0:否 1:是 */
private String top;
/** 用户. */
private User user;
get set 方法略...
在看看dao层接口:
public void addMessge(Message message);
service层对于插入语句的调用:
public void addMessage (Message message) {
messageDao.addMessge(message);
System.out.println(message.getId());
}
这里输入的就是插入的数据生成的主键id了