Mybatis Plus 驼峰映射错误导致的SQL异常

再向数据库中插入数据时 , 爆出以下错误 : 

Error updating database. Cause: java.sql.SQLSyntaxErrorException: Unknown column 'create_time' in 'field list'

出现这样的错误是因为你的实体类属性和数据库字段映射失败 , 字段和属性匹配不上, 导致 CRUD 操作失败

解决方案 :

  1. 先检查实体类中的属性和数据库表中的字段名是否满足映射关系 , 实体类中的属性使用驼峰命名 ! ! ! 

注意 : 数据库字段 和 实体类属性的名字 也别多写个单词还是少些个单词, 也会对应不上 , 导致CRUD失效

 

上面实体类对应的数据库表中的 create_Time , update_Time 这两个字段 : 使用下划线连接 ! ! !

 

为什么必须满足驼峰命名 ? 其实也不是 , 这只是一个该行业的约定而已 , 你也可以在 yml 文件或者 properties 配置文件关闭驼峰到下划线的映射 , CRUD 时 , 只要保证实体类和数据库字段的单词 , 符号 保持一致即可

#关闭驼峰映射
mybatis-plus.configuration.map-underscore-to-camel-case=false

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis Plus 是基于 MyBatis 的增强工具,提供了更方便、更强大的 SQL 操作能力。下面是一些关于 MyBatis Plus 的 SQL 设置: 1. 数据库表名映射MyBatis Plus 默认使用驼峰命名法来映射数据库表名和实体类名的关系。如果数据库表名和实体类名不符合命名规范,可以使用注解 `@TableName`,在实体类上指定对应的数据库表名。 2. 主键生成策略:MyBatis Plus 提供了多种主键生成策略,如自增主键、UUID、雪花算法等。可以通过注解 `@TableId` 在实体类的主键字段上指定主键生成策略。 3. 逻辑删除:MyBatis Plus 支持逻辑删除,即在删除数据时,只是修改标记字段的值,而不是真正删除数据。可以通过注解 `@TableLogic` 在实体类的逻辑删除字段上指定逻辑删除的值和未删除的值。 4. 字段自动填充:MyBatis Plus 提供了字段自动填充功能,可以在插入或更新数据时,自动填充指定的字段值,如创建时间、更新时间等。可以通过注解 `@TableField` 在实体类的字段上指定自动填充的策略。 5. SQL 注入器:MyBatis Plus 提供了 SQL 注入器接口,可以自定义 SQL 注入器来扩展 MyBatis Plus 的 SQL 功能。可以实现接口 `com.baomidou.mybatisplus.core.injector.ISqlInjector`,并将其注入到 MyBatis Plus 的配置中。 这些是一些 MyBatis Plus 的 SQL 设置,通过使用这些设置,可以更灵活地操作数据库

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值