insert操作時,需要獲取主鍵ID。在mybatis執行完insert操作后,我傳入到insert()里面的那個entity對象,就有ID值了, mybatis自動給賦值上了! 我一直用一個變量(id)接收,只能接收到影響的行數!
正確的獲取方法:
1 public Integer save(){ 2 UserInfo entity = new UserInfo(); 3 ... 4 entity.setUpdateTime(new Date()); 5 userInfoDAO.insert(entity); 6 return entity.getId(); 7 }
錯誤的獲取方法:
1 public Integer save(){ 2 UserInfo entity = new UserInfo(); 3 ... 4 entity.setUpdateTime(new Date()); 5 Integer id = userInfoDAO.insert(entity); 6 return id; 7 }
mybatis中的insert寫法
<insert id="insert" parameterType="com.xxx.xxx.entity.xxx" useGeneratedKeys="true" keyProperty="id"> INSERT INTO comment_library <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> id, </if> ... </trim> VALUES <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null"> #{id}, </if> ... </trim> </insert>
