使用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了