Mybatis新增記錄,返回主鍵id
阿新 • • 發佈:2018-12-20
<insert id="addRole" parameterType="SysRole" useGeneratedKeys="true" keyProperty="roleId" keyColumn="role_id">
insert into t_sys_role( name,status )
values( #{name,jdbcType=VARCHAR}, <span> </span>#{status,jdbcType=VARCHAR}, )
</insert>
</code>
注: 1、新增記錄能夠返回主鍵的關鍵點在於需要在<insert>標籤中新增以下三個屬性<insert useGeneratedKeys="true" keyProperty="id" keyColumn="id"></insert>。 useGeneratedKeys:必須設定為true,否則無法獲取到主鍵id。 keyProperty:設定為POJO物件的主鍵id屬性名稱。 keyColumn:設定為資料庫記錄的主鍵id欄位名稱 2、新新增主鍵id並不是在執行新增操作時直接返回的,而是在執行新增操作之後將新新增記錄的主鍵id欄位設定為POJO物件的主鍵id屬性
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations= {"classpath:config/spring-core.xml","classpath:config/spring-web.xml"})
public class TestDao{
@Autowired
SysRoleDao roleDao;
@Test
public void test() {
SysRole role=new SysRole();
role.setName("admin10");
role.setStatus(1);
System.out.println("返回結果:"+roleDao.addRole(role));
System.out.println("主鍵id:"+role.getRoleId());
}
}