Mongodb集合字段命名风格为驼峰与下划线的区别
我们java实体类都是驼峰命名,例如userName但我们在用mybatis的时候是能映射数据库为下划线字段user_name的。而mongodb是直接映射,也就是说,假设我的实体类是userName,那么对应到mongodb的集合属性也是userName。这样不规范会有怎样结果呢?通过实践我发现驼峰命名后做不了java反射,有的会映射不到。所以我们还是应该按规范来写,那么我们应该怎么改才能既能实
·
我们java实体类都是驼峰命名,例如userName但我们在用mybatis的时候是能映射数据库为下划线字段user_name的。而mongodb是直接映射,也就是说,假设我的实体类是userName,那么对应到mongodb的集合属性也是userName。这样不规范会有怎样结果呢?通过实践我发现驼峰命名后做不了java反射,有的会映射不到。所以我们还是应该按规范来写,那么我们应该怎么改才能既能实体类驼峰又能集合带下划线呢。有两种方法。
一、在实体类添加@Field注解
例如
@Field("user_name")
private String userName;
二、给配置文件的mongodb连接加上一段field-naming-strategy
例如
uri: mongodb://127.0.0.1/gw
username: admin
password: admin123
field-naming-strategy: org.springframework.data.mapping.model.SnakeCaseFieldNamingStrategy
加上这一段后,mongodb就能像mybatis一样自动把实体类的驼峰命名的属性映射到数据库下划线命名的字段了。
更多推荐
已为社区贡献1条内容
所有评论(0)