mybatis 插入数据返回自增主键

xiaoxiao2021-02-28  49

API处理 controller方法定义     /** * 新增XXX * @author XXX * @date 17:21 2018/5/22 * @param query 新增参数 */ @RequestMapping(value = "/folder", method = RequestMethod.POST) public void insert(@RequestBody String query) { Map<String, Object> paramMap = getTokenParamMap(query); new ValidateManager(paramMap) .add(new NotEmptyValidator("parentId, name", "参数错误")) .checkAndThrow(); new ApiResultWrapper().setObj(appMaterialLogic.insert(paramMap)).toResponse(); } logic逻辑处理     /** * 新增XXX * @author XXX * @date 12:11 2018/5/23 * @param paramMap 父ID, 名称 */ public Map<String, Integer> insert(Map<String, Object> paramMap) { Map<String, Integer> resultMap = Maps.newHashMap(); FileGroupDictionaryDO fileGroupDictionaryDO = new FileGroupDictionaryDO(); fileGroupDictionaryDO.setName(ValueUtil.toString(paramMap.get("name"))); fileGroupDictionaryDO.setParentId(ValueUtil.toInteger(paramMap.get("parentId"))); fileGroupDictionaryDO = fileGroupDictionaryService.insertFileFolder(fileGroupDictionaryDO); resultMap.put("fileFolderId", fileGroupDictionaryDO.getId()); return resultMap; } Interface接口定义 返回新建实体对象     /** * 新增XXX * @author XXX * @date 16:13 2018/5/22 * @param fileGroupDictionaryDO 文件夹信息 * @return int 影响的记录数 */ FileGroupDictionaryDO insert(FileGroupDictionaryDO fileGroupDictionaryDO); service实现返回 返回新建对象     /** * 新增XXX * * @param fileGroupDictionaryDO 文件夹信息 * @return int 影响的记录数 * @author XXX * @date 16:13 2018/5/22 */ @Override public FileGroupDictionaryDO insert(FileGroupDictionaryDO fileGroupDictionaryDO) { fileGroupDictionaryMapper.insert(fileGroupDictionaryDO); return fileGroupDictionaryDO; } mapper映射类定义     /** * 新增XXX * @author XXX * @date 16:13 2018/5/22 * @param fileGroupDictionaryDO 文件夹信息 * @return int 影响的记录数 */ int insert(FileGroupDictionaryDO fileGroupDictionaryDO); mybatis映射文件     <!--新增XXX--> <insert id="insert" useGeneratedKeys="true" keyProperty="id" keyColumn="id" parameterType="xxx.FileGroupDictionaryDO"> INSERT INTO tableXXX ( `name`, `level`, parent_id ) VALUES (#{name}, 2, #{parentId}) </insert> useGeneratedKeys:使用jdbc的getGenereatedKeys方法获取主键并赋值到keyProperty设置的属性中; keyProperty:实体类主键字段对应的属性名; keyColumn:数据库表中主键字段名。

转载请注明原文地址: https://www.6miu.com/read-2350228.html

最新回复(0)