Mapper sql语句字段和实体类属性名字有什么关系

时间:2021-05-02

背景:

1.在数据库中有一个通知表

可以看到其中的

  • gmt_create、
  • notifier_name、
  • outer_title

这三个字段是有下划线的

2.这张表对应的实体类为

? 1 2 3 4 5 6 7 8 9 10 11 public class Notification { private Long id; private Long notifier; private Long receiver; private Long outerId; private Integer type; private Long gmtCreate; private Integer status; private String notifierName; private String outerTitle; }

在写实际java代码命名采用驼峰命名

注意application.properties是否开启了驼峰映射

#驼峰映射
mybatis.configuration.map-underscore-to-camel-case=true

3.在Mapper中有一个插入语句

//0.插入一条通知
@Insert("insert into questions (title,description,gmt_create,gmt_modified,creator,tag) values (#{title},#{description},#{gmtCreate},#{gmtModified},#{creator},#{tag})")
void createQuestion(Question question);

结论:在进行占位时#{}中的内容应为gmtCreate

写的时候留心下,写成gmt_create可能会报错

There is no getter for property named 'gmt_create' in 'class com.example.com

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/yang37/p/12357813.html

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章