1. 程式人生 > >Mybatis新增記錄,返回主鍵id

Mybatis新增記錄,返回主鍵id

<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());
	}
}