在mysql中插入一條數據后,返回該條數據的id ,假如之后代碼需要這個id,內容如下:
<insert id="saveUser" useGeneratedKeys="true" keyProperty="userId" parameterType="User">
insert into user(name,password,age) values(#{name},#{password},#{age})
</insert>
測試代碼如下:
User user = new User(); user.setName("張三"); user.setPassword("123456"); System.out.println("插入數據前主鍵為:"+user.getUserId()); //輸出結果null //調用方法 userDao.saveUser(user); System.out.println("插入數據后主鍵為:"+user.getUserId()); //輸出結果是插入數據新增的id: 21
注意:useGeneratedKeys默認值是:false。
含義:設置是否使用JDBC的getGenereatedKeys方法獲取主鍵並賦值到keyProperty設置的領域模型屬性中。
如果使用的是mybatis-plus,則使用自帶插入方法插入,然后根據對應的領域模型獲取主鍵id即可。