通用Mapper实体类映射数据库字段问题

通用Mapper实体类映射数据库字段问题

最近再做项目时遇到了一个小坑, 删除某个表格行时报错了, Unknown column ‘kind_id’ in ‘where clause’. 显示我的sql语句DELETE FROM tb_app_leave WHERE kind_id = 4, 当时实体类属性名时kindId, 数据库字段名时kindId, 本来想按外键删除的, 结果就报了上面这么个错.
查了不少资料, 最后发现时通用mapper的默认映射关系的原因:
通用 Mapper 中, 默认情况下是将实体类字段按照驼峰转下划线形式的表名列名进行转换. 如果想要修改默认的转换方式, 可以在后续的配置中 ,修改 style 全局配置.

查看资料后我用了 @NameStyle 注解, 该注解的值支持下面的选项

Style.normal,                     //原值
Style.camelhump,                  //驼峰转下划线
Style.uppercase,                  //转换为大写
Style.lowercase,                  //转换为小写
Style.camelhumpAndUppercase,      //驼峰转下划线大写形式
Style.camelhumpAndLowercase,      //驼峰转下划线小写形式

然后通用mapper自动生成的sql就是自己想要的结果了:DELETE FROM tb_app_leave WHERE kindId=4

当然通用mapper还有更多的注解, 可以参考下面的博客地址:
https://blog.csdn.net/lyf_ldh/article/details/81041253

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Elasticsearch的Mapper映射实体类问题涉及到对日期和间数据类型的处理。在Elasticsearch中,日期和间可以使用多种格式进行存储和检索。 首先,我们需要在实体类的属性上使用合适的注解来标识该属性是一个日期或间。对于日期类型,可以使用`@Field`注解,并指定字段类型为`FieldType.Date`,这样可以将日期通过指定的格式进行存储和检索。对于间类型,可以使用`@Field`注解,并指定字段类型为`FieldType.Text`,同也可以使用`format`属性来指定间的格式。 在映射的过程中,我们可以选择使用Elasticsearch提供的默认日期间格式,如`"yyyy-MM-dd HH:mm:ss"`,也可以根据自己的需求定义对应的格式。需要注意的是,由于日期和间的校验和转换可能会带来性能上的影响,所以在选择日期间格式需要权衡性能和需求。 当对日期和间进行检索,可以使用相应的格式将输入的日期间字符串转换为Elasticsearch所支持的格式,并进行检索。一般情况下,Elasticsearch会将日期和间类型进行忽略,只比较其毫秒级的数值,所以在检索需要将输入的日期和间精确到毫秒级。 总之,ES Mapper映射实体类问题涉及到对日期和间的存储、检索和格式转换。通过合适的注解和格式设置,我们可以方便地处理实体类中的日期和间属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值