mybatis 获取自增主键Id值案例

1、Mapper配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.hyc.www.dao.MenuMapper">


    <resultMap type="com.hyc.www.pojo.Menu" id="menu">
        <id property="menuId" column="menuId" />
        <result property="menuName" column="menuName" />
        <result property="sortNumber" column="sortNumber" />
    </resultMap>
    
    
    <insert id="insert" parameterType="menu" useGeneratedKeys="true" keyProperty="menuId">
    insert into 
    Menus
    (
    menuName,
    sortNumber
    )
    values
    (
    #{menuName},
    #{sortNumber}
    )
    </insert>
    
    <insert id="insertMenuAction" parameterType="menuAction">
    insert into 
    MenuAction
    (
    menuId,
    actionId
    )
    values
    (
    #{menuId},
    #{actionId}
    )
    </insert>
    
</mapper> 

2、controller

@Autowired
    private MenuService menuService;
    
    @RequestMapping(value = "/add", method = RequestMethod.POST, produces = "text/html;charset=UTF-8")
    @ResponseBody
    @ApiOperation(value = "add menu", notes = "添加菜单")
    @ApiResponse(response= String.class, code = 200, message = "接口返回对象参数")
    public String add(@RequestBody Menu menu) {
        
        try {
            
            if(menu==null) {
                return "fail";
            }
            menuService.insert(menu);
            for (Integer aId : menu.getActionIds()) {
                MenuAction rAction = new MenuAction();
                rAction.setActionId(aId);
                rAction.setMenuId(menu.getMenuId());
                
                menuService.insertMenuAction(rAction);
            }
            return "success";
        } catch (Exception e) {
            e.printStackTrace();
            return "fail";
        }
    }

当调用menuService.insert(menu)方法后,menuId值已经赋值给了menu对象,直接使用menu.getMenuId()获取自增主键Id值。

原文地址:https://www.cnblogs.com/zoro-zero/p/12511009.html