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

Maleah ·
更新时间:2024-09-20
· 656 次阅读

背景:

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

可以看到其中的

gmt_create、 notifier_name、 outer_title

这三个字段是有下划线的

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

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

您可能感兴趣的文章:MyBatis直接执行SQL的工具SqlMapper详解 MapperScannerConfigurer之sqlSessionFactory注入方式Mybatis中SqlMapper配置的扩展与应用详细介绍(1)使用XSD校验Mybatis的SqlMapper配置文件的方法(2)使用XSD校验Mybatis的SqlMapper配置文件的方法(1)详解MyBatis的getMapper()接口、resultMap标签、Alias别名、 尽量提取sql列、动态操作MyBatis MapperProvider MessageFormat拼接批量SQL语句执行报错的原因分析及解决办法



sql语句 SQL 属性 实体 字段 关系 mapper 类属性 实体类

需要 登录 后方可回复, 如果你还没有账号请 注册新账号