weixin_42703316
Pascoe_C
采纳率50%
2020-11-03 10:02

萌新学习java求大神帮忙看看~~~

xml配置文件

    其中update标签picture字段括号里picture怎么都是null,这个picture=null值仅存在更改也就是update操作中,在查和增操作mysql是正常可读可写的(所以我xml配置文件肯定没有写错)。
   而且null值是在dao层执行完之后赋值上去的,也就是前端发送请求执行update方法直到domain内的setpicture方法的时候数据打印都是正常的,不是null。导致我只能在xml文件和mysql之间找问题。
   mysql由于增加和查找都是可执行,手动在sqlyog中输入update语句也是正常的,所以排除mysql。
  而且xml配置文件中update操作的所有字段,仅update标签括号内的picture不能使用,放到update哪个字段哪个字段写到mysql就是null。
        为什么配置文件就是读取不到这个picture的值?

希望那个大神解答一下,这个picture到底出了什么问题。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • liuyh1024 liuyh1024 6月前

    首先排查一下dao层调用mapper传入的值,picture这个字段是不是为null了,如果只是这个一字段有的问题,肯定是哪块赋值的时候给设置成null了,看一下字段名是不是写错了。

    点赞 1 评论 复制链接分享
  • weixin_42703316 Pascoe_C 6月前

    蠢哭了,不过把beanUtill和读写文件也顺带复习过了一遍(┬┬﹏┬┬)

    点赞 评论 复制链接分享
  • weixin_42703316 Pascoe_C 6月前
    //1.检测前端是否上传文件再设置当前存储的图片名称为id值
    if (flag) {
        question.setPicture(question.getId());
    }
    //2.调用Dao层操作
    questionDao.update(question);

    在service实现类里面那这两个操作写反了。。。谢谢~~~~~~确实是没有赋值,我以为servlet在重写图片名字时会赋值到picture,实际上不会,赋值在service里面赋值,我还给写反了,写在调用持久层后面了

    点赞 评论 复制链接分享
  • weixin_42703316 Pascoe_C 6月前

     

    控制台选中部分是跳转页面的打印数据,忽视。最上面的三个打印的是控制层调用edit方法直到domain对picture的赋值的输出结果,按理说domain对picture赋值之后程序应该就去操作数据库了吧,dao层接口里的update方法

    int update(Question question);
    
    

    就这一行。。。根本没有picture字段,xml配置文件里的picture我都检查过了,而且由于save和select操作也会用到picture,所以mapper,resultmap的picture都是可用的没问题的,偏偏就update标签内的picture有问题。我去sqlyog里手动操作update也是没问题的。。难道是mybatis的问题???问题就出在xml和mysql数据库之间,其他我都排查过了。。。关键是萌新不会操作这个层面的问题

    点赞 评论 复制链接分享

相关推荐