java SpringBoot自动封装枚举类型的方法
2017-03-15 09:58
483 查看
package com.**.util; import com.wdletu.travel.constant.Gender; import org.springframework.context.annotation.Configuration; import org.springframework.core.convert.converter.Converter; /** * Created by zhangmy on 2017/3/14. */ @Configuration public class StringToGenderConverter implements Converter<String,Gender> { @Override public Gender convert(String source) { String value = source.trim(); if ("".equals(value)) { return null; } return Gender.get(Integer.parseInt(value)); } }
package com.**.constant; /** * Created by zhangmy on 2017/3/10. */ public enum Gender { FEMALE(0,"男"), MALE(1,"女"); private int status; private String text; Gender(int status,String text){ this.status=status; this.text=text; } public static Gender get(int v) { String str = String.valueOf(v); return get(str); } public static Gender get(String str) { for (Gender e : values()) { if(e.toString().equals(str)) { return e; } } return null; } public int getStatus() { return status; } public String getText() { return text; } }
controller
/** * 保存用户信息 * @param user 用户信息 * @return */ @RequestMapping(value="/insert",method = RequestMethod.POST) @ResponseBody public ResponseEntity insert(@RequestBody User user) { Long userId = userService.saveUser(user); return ok(new MapBean("id", userId)); }entity
package com.**.entity; import javax.persistence.Entity; import javax.persistence.Enumerated; import javax.persistence.Table; /** * 用户实体类 * Created by zhangmy on 2017/3/5. */ @Entity @Table(name = "user") public class User { private String sn;//编号 private String name;//用户名 private String nickname;//昵称 private String mobile;//手机号 private Gender gender;//性别 @Enumerated public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } }
注:当Controller中以实体为参数保存数据时,如果实体中存在枚举类型,是无法直接转换成数据库对应值 ,需要配置将传过来的值对应枚举的key
相关文章推荐
- Spring Boot对表单实体做REST API请求自动封装验证
- java鬼混笔记:springboot之thymeleaf 4:常见的格式化方法
- 关于spring boot方法queryByID(id)的java.lang.ClassCastException: A cannot be cast to A 报错
- springboot+webmagic实现java爬虫jdbc及mysql的方法
- java~springboot~ibatis数组in查询的实现方法
- Spring-boot application controller 方法自动解析Locale参数原理
- SpringBoot系列: 使用MyBatis maven插件自动生成java代码
- java代码自动下载Spring Boot用户手册
- Java利用反射自动封装成实体对象的方法
- java鬼混笔记:springboot之thymeleaf 2:字符串Strings常见的使用方法
- Jenkins-Docker-SpringBoot-java-git-gradle-持续集成与自动部署-实现跨服务器部署
- java / spring boot集成selenium3 自动测试
- 微服务领域Spring Boot自动伸缩的实现方法
- 详解jenkins自动部署springboot应用的方法
- 关于SpringBoot :java.lang.ClassNotFoundException: org.dom4j.io.STAXEventReader错误解决方法
- spring-data-elasticsearch + java 查询方法的封装
- spring boot 使用@ConfigurationPropertiesu将配置自动封装成实体类
- Spring boot 设置500 404错误的java方法
- 集成jcaptcha到spring-boot+maven项目中时出现java.lang.NoSuchMethodError: com.jhlabs.image.WaterFilter的问题的解决方法
- springboot 通过代码自动生成pid的方法