美文网首页Java-Spring
Spring-Java对象属性由驼峰(CamelCase)转成蛇

Spring-Java对象属性由驼峰(CamelCase)转成蛇

作者: yusher | 来源:发表于2020-08-28 11:59 被阅读0次

原由

由于Java语言偏向于使用驼峰式命名,如columnA,然而数据库(MySQL)表字段一般使用蛇式命名,如column_a,且前端一般也是使用数据库的字段格式进行交互。因此参数传递和返回就需要对驼峰和蛇式的参数进行转化。

解决方案

引入com.fasterxml.jackson.core

...
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.11.2</version>
</dependency>
...

返回结果处理

  • 配置
# application.properties
spring.jackson.property-naming-strategy=SNAKE_CASE
  • 数据类
...
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class TestDTO implements Serializable {
    private static final long serialVersionUID = 1L;
  
    private Integer id;
    
    private String userName;
      
    private Integer createTime;
}

Tips: JsonInclude注解可以过滤为null的数据

参数处理

  • 注入ObjectMapper
@RestController
public class TestController {
    @Autowired
    private ObjectMapper objectMapper;
}
  • 数据转换
@RestController
public class TestController {
    @AutoWired
    private TestService testService;
    ...
    @GetMapping("/test")
    public void index(@RequestParam Map<String, Object> params) {
        TestForm testForm = objectMapper.convertValue(params, TestForm.class);
        testService.index(testForm);
    }
    ...
}
  • 参数验证
...
@Service
@Validated
public class TestServiceImpl implements TestService {
    private static final Logger logger = LoggerFactory.getLogger(TestServiceImpl.class);

    @AutoWired
    private final TestMapper testMapper;
      
    @Override
    public List<TestModel> index(@Valid TestForm params) {
        List<TestModel> tests = testMapper.selectByParams(params);
        return tests;
    }
}

相关文章

  • Spring-Java对象属性由驼峰(CamelCase)转成蛇

    原由 由于Java语言偏向于使用驼峰式命名,如columnA,然而数据库(MySQL)表字段一般使用蛇式命名,如c...

  • 绑定Style

    注意:CSS 属性名可以用驼峰式 (camelCase) 或短横线分隔 (kebab-case,记得用单引号括起来...

  • LeetCode #1023 Camelcase Matchin

    1023 Camelcase Matching 驼峰式匹配 Description:Given an array ...

  • 常见编程命名规范

    匈牙利命名法:变量类型缩写+大驼峰,如int iMyAge,Windows编程常用 驼峰命名法(camelCase...

  • 四.Android编写代码规范

    0.命名法 驼峰式命名法(CamelCase)分大驼峰式命名法(UpperCamelCase)和小驼峰式命名法(l...

  • Kotlin的编码风格

    1. 命名风格 使用(camelCase)驼峰命名法,避免使用下划线 类型以大写字母开头 方法和属性以小写字母开头...

  • 组件

    命名包括:PascalCase(帕斯卡命名法,首字母大写的大驼峰式命名法)、CamelCase(驼峰法,首字母小写...

  • JS 驼峰转下划线/下划线转驼峰

    首先题目:根据数据结构,把对象类型的 key 值下换线转成驼峰。例如: 下划线转驼峰 代码 驼峰转下划线代码思路同...

  • Android中Kotlin的使用简介(编码规范)

    命名风格使用(camelCase)驼峰命名法,避免使用下划线类型以大写字母开头方法和属性以小写字母开头使用四个空格...

  • 组件通信

    命名规则 html:使用kebab-case(短横线分割)props:使用camelCase(驼峰命名) 父子组件...

网友评论

    本文标题:Spring-Java对象属性由驼峰(CamelCase)转成蛇

    本文链接:https://www.haomeiwen.com/subject/ucnksktx.html