灏191 2024-04-07 20:43 采纳率: 50%
浏览 8

Mybatis-Plus

Mybatis-Plus数据库字段名与实体属性名一致但是映射出错

img

img

img

img

  • 写回答

6条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-04-07 20:43
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 使用Mybatis-Plus进行数据库操作时,发现数据库字段名与实体属性名一致,但是映射出错。 解决方案: 1.检查实体类属性名与数据库字段名是否一致,如果不一致需要手动添加@TableField注解,指定对应数据库字段名。 案例: 实体类:
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @TableName("user") // 指定对应数据库表名
    public class User implements Serializable {
        private static final long serialVersionUID = 1L;
        @TableId(value = "user_id", type = IdType.AUTO) // 指定对应数据库主键名和自增类型
        private Long userId;
        @TableField(value = "username") // 指定对应数据库字段名
        private String username;
        private String password;
    }
    

    2.检查Mybatis-Plus配置文件是否正确配置了驼峰命名转换。 案例: 在mybatis-plus.properties文件中添加以下配置:

    # 驼峰命名转换
    mybatis-plus.configuration.map-underscore-to-camel-case=true
    

    3.如果以上两种情况均不存在问题,可以手动编写XML文件指定对应的SQL语句。 案例: 在UserMapper.xml文件中添加以下代码:

    <!-- 查询所有用户 -->
    <select id="findAllUsers" resultType="com.example.demo.entity.User">
        select user_id as userId, username, password 
        from user
    </select>
    

    4.如果实在无法解决以上问题,则可能是Mybatis-Plus版本过低,可以尝试升级Mybatis-Plus版本或使用其他ORM框架。 参考资料: 1.Mybatis-Plus官方文档:https://baomidou.com/guide/ 2.Mybatis-Plus GitHub仓库:https://github.com/baomidou/mybatis-plus

    评论

报告相同问题?

问题事件

  • 创建了问题 4月7日