当前使用版本(必填,否则不予处理)
3.5.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
实体类 /* 字典类型 / @ApiModelProperty(value = "字典类型",required = false) @TableField(value = "dict_type") private String dictType;
查询条件 queryWrapper.eq("dictType", sysAdminDictData.getDictType());
重现步骤(如果有就写完整)
实体类 /* 字典类型 / @ApiModelProperty(value = "字典类型",required = false) @TableField(value = "dict_type") private String dictType;
查询条件 queryWrapper.eq("dictType", sysAdminDictData.getDictType());
报错信息
Cause: java.sql.SQLSyntaxErrorException: Unknown column 'dictType' in 'where clause'
Comment From: miemieYaho
queryWrapper.eq("dict_type", sysAdminDictData.getDictType());
Comment From: 001221211
这样当然可以了,但是我实体类字段已经映射了,我为什么用实体类的字段不可以呢?
Comment From: miemieYaho
就这样的
Comment From: zhangran
用LambdaQueryWrapper。多看看官方文档:https://www.baomidou.com/pages/10c804/#abstractwrapper
lambdaQueryWrapper.eq(xxxxModel::dictType, sysAdminDictData.getDictType());
Comment From: 001221211
如果我的配置中map-underscore-to-camel-case: false 那么queryWrapper.eq("dictType", sysAdminDictData.getDictType());可以用属性名吗?
Comment From: ConanEdogawa1
eq(column, val) 方法第一个参数是数据库对应的字段,第二个参数是对应的值,写法应该是: queryWrapper.eq("dict_type", sysAdminDictData.getDictType()) 才对
Comment From: ZeYuYang1024
你的查询语句写错了 查询条件 queryWrapper.eq("dict_Type", sysAdminDictData.getDictType()); eq条件的第一项是你的数据库字段,第二项是你传的dto 下面这种方案也可以 queryWrapper.eq(实体类::getDictType, sysAdminDictData.getDictType());
Comment From: qmdx
up