mybatis-plus查询时不能映射字段

mybatis-plus查询时不能映射字段

mybatis-plus查询时不能映射字段

新建项目配置好启动正常,但是测试时发现mybatis-plus查询中,未能将实体字段名映射为表中的列表。
错误信息:
Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘userName’ in ‘field list’
The error may exist in cn/yc/sys/mapper/UserMapper.java (best guess)
The error may involve defaultParameterMap
The error occurred while setting parameters
SQL: SELECT id,userName,password,userTel,address FROM d_user WHERE (user_name = )
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘userName’ in ‘field list’
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘userName’ in ‘field list’] with root cause

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘userName’ in ‘field list’
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_181]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_181]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_181]

排查

查看配置信息,mapper的配置位置正常:
在这里插入图片描述
程序启动时,console信息中也能看到:
在这里插入图片描述
mapper.xml文件是自动生成的,内容完全没改动:
在这里插入图片描述
奇怪的情况,折磨半天。

原因

浪费半天时间,最后发现配置文件中有一处不正常的情况:
在这里插入图片描述
map-underscore-to-camel-case,是否开启驼峰转换功能。
罪魁祸首就在此处,此项设为了true时,才会开启驼峰自动转换功能,mybatis在拼sql时才会将实体类的字段名,转为对应的表列名。

PS:
map-underscore-to-camel-case,为true时,如果不使用一些自定义的sql,只使用mybatis预设的方法与数据库交互,则mapper.xml文件可以删除,毫无影响。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值