温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解决Mybatis查询时数据丢失的问题

发布时间:2022-01-21 11:55:44 来源:亿速云 阅读:399 作者:小新 栏目:开发技术

这篇文章主要为大家展示了“如何解决Mybatis查询时数据丢失的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Mybatis查询时数据丢失的问题”这篇文章吧。

    Mybatis查询时数据丢失

    公司里的实体类和mapper文件均由mybatis逆向工程生成

    之前使用myabtis查询时直接使用注解@select(......)时遇到了一个问题。

    结果显示数据库查询没有问题,但是有的数据缺没有插入到指定的字段中,如下图中ID成功存储,Z40_ID,Z40_103到Z40_113均失败。

    如何解决Mybatis查询时数据丢失的问题

    经过排查得出结论

    如果数据库命名很规范比如user_name,用逆向插件生成实体类时该字段会自动转换为userName

    但是如果数据库命名形式为:字母(含数字)_字母(含数字)这种情况,自动映射就会失效,就会发生部分数据没有set到指定属性下;

    解决办法

    对于一些命名不规范的列需要加上注解手动映射

    如何解决Mybatis查询时数据丢失的问题

    或者直接在mapper.xml文件里用xml方式写sql语句,一般逆向工程都自动生成列的映射规范了;

    如何解决Mybatis查询时数据丢失的问题

    Mybatis查询部分字段漏查问题(mysql)

    select xx1字段 xx2字段 xx3字段 from A表 where 条件

    在查询的时候出现xx1字段的值和xx2的,xx3没出来,

    1.(数据库字段是否有值?若无加一下值重启再试一下)

    2.将sql语句放到SQLyog 或者Navicat for MySQL 等mysql工具进行查询,先确保语句得出结果没有问题23.3

    3.若此时无问题,大部分因为数据库字段使用了一些敏感的外键字段,可适当修改一下这些健的名称

    (记得对应实体类,mybatis语句也要跟着修改)数据库加入数据值 保存,重新启动程序.

    以上是“如何解决Mybatis查询时数据丢失的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI