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