java mysql 获取主键、DIY主键、UUID,简单粗暴,代码如下:

mapper.xml

insert id="add" parameterType="com.xuyao.model.User" >
        insert into user
            (
            id,
                        name,
            created_time,
            modified_time
            )
        values
            (
            #{id},
            #{name},
            now(),
            now()
            )

        <selectKey resultType="String" keyProperty="id" order="BEFORE">
            SELECT uuid() id
        </selectKey>
    </insert>
  • selectKey,标签内可以自定义查询方法,DIY ID序号;
  • resultType:返回的类型;
  • keyProperty:model属性名称;
  • order: before,执行之前获取;after,执行之后获取,用于主键自增;

service.java

public User add(User user) throws Exception {
    userMapper.add(user);
    return user;
}
  • 使用传参的实例,并将实例返回;会自动将“ID” 注入到类;

controller

/**
    * 新增用户
    * @param user
    * @param model
    * @param <T>
    * @return
    */
    @RequestMapping(value="", method = RequestMethod.POST, consumes="application/json")
    public <T> Map<String, T> createUser(@RequestBody User user, Model model) {
        try {
            user = userService.add(user);
            return (Map<String, T>) ResponseUtil.result(HttpStatus.OK, "新增用户成功", user);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return (Map<String, T>) ResponseUtil.result(HttpStatus.INTERNAL_SERVER_ERROR, "新增用户失败. " + e.getMessage(), flowInstance);
    }
    }
12-27 22:41
查看更多