使用mybatisPlus驼峰映射出现问题, 数据库字段没有采用下划线的方式

数据库字段与实体类对应不上的问题

如图所示

使用mybatisPlus驼峰映射出现问题, 数据库字段没有采用下划线的方式_第1张图片

很明显, 数据库中的zoneId和provinceId并没有采用下划线的方式 , 这就导致mybatisPlus内部封装的curd可能会报错, 如使用 xxxService.list()方法时,

    @ApiOperation("获取省列表")
    @PostMapping("/getProvinces")
    public ResultUtils<SaleProvince> getProvinces() {
//        List<SaleProvince> list = saleProvinceService.getProvinceList();
        List<SaleProvince> list = saleProvinceService.list();
        return ResultUtils.success("查询成功", list);
    }

就会产生下面的错误,

使用mybatisPlus驼峰映射出现问题, 数据库字段没有采用下划线的方式_第2张图片
因为我在配置文件配置的是, 驼峰映射, 所以, mybatisPlus会默认去把实体类的所有的驼峰转化为下划线的方式去数据库中寻找对应的字段, 即去数据库中寻找zone_id字段, 但是数据库中并没有这个字段, 所以就会导致报错 。

解决方案:

给实体类中不符合驼峰规范的字段添加注解, @TableFiled(value=“数据库中对应的字段名称”)
使用mybatisPlus驼峰映射出现问题, 数据库字段没有采用下划线的方式_第3张图片
测试一下: 查询正常
使用mybatisPlus驼峰映射出现问题, 数据库字段没有采用下划线的方式_第4张图片

总结:建议数据库表设计严格遵守驼峰规范命名, 避免不必要的麻烦, 规范些, 没坏处。也能提高自己的开发效率

你可能感兴趣的:(常见异常(问题)以及如何处理,Mybatis,Java)