解决方案 »

  1.   

            Users user = new Users();
            user.setId(2);
            user.setUsername("123");
            dao.update(user);
    起作用就这几行,你其他属性都没覆盖
    不然就写 hql set属性
      

  2.   

    Users user = new Users(); user是new出来的,字段均为空,下面你set了几个字段,剩余字段便都是空了
    看你的代码,你可能是想从list中查找id 为2的user,然后update它的username为123
    这样的话,代码要做修改
         
            UserDao dao = (UserDao) ac.getBean("userDao");
            Users user = new Users();
            user.setId(2);
            List<Users> list = dao.findUserById(user.getId());
            user = list.get(0);  // 让user指向新查找出来的user,也就是 list.get(0)
            System.out.println(user.getUsername());
            user.setUsername("123");
            dao.update(user);   
      

  3.   

    其实很简单,SSH在update的时候每个属性都要有值的,你确认值有没有被初始化,或者说哪个环节属性被修改了就可以了!
      

  4.   

    那你debug 看下,其他的估计是null
      

  5.   

     Users user = new Users();
            user.setId(2);
            List<Users> list = dao.findUserById(user.getId());
    //        for(Users users:list){
    //            System.out.println(users.getUsername());
    //        }
            user.setUsername("123");
            dao.update(user);
    很明显,你新new 了一个 Users user = new Users();而你只给这个心new的user赋予了两个set值  user.setId(2); user.setUsername("123");其他字段当然为null
      

  6.   

    user.setUsername("123");
            dao.update(user);楼主更新的是自己new的那个对象,当然别的属性为空了
      

  7.   

    你的user是NEW出来的,然后你set的属性也是new出来的USER
    new出来的User除了几个你SET的属性,其他值都是空的,
    如果你要改查出来的user属性应该从list里面拿出user修改了,然后在update进去
      

  8.   

    new  User的时候  要将user里的所有属性全部都set一遍 这样数据库里才会有值啊
      

  9.   

    insert-update 可以设置为false 
    因为hibernate 在更新的时候,如果你属性没有值的话,默认会给你一个null的值
      

  10.   

    正如2楼说的原因,mybatis里面可以在sql里面加判断,hibernate不知道如何处理,不过应该可以配置
      

  11.   

    ssh是不需要new对象的   、
    new对象没执行一次 
    就会清空一次
      

  12.   

    LZnew了个新的user 但是你set值只给了id和name 其他都是初始化空的 
      

  13.   

    你自己new的user  里面啥都没有   你就set个ID   再update  可不是都是NULL
      

  14.   

    首先楼主要明白修改总得先查出一条数据来然后在修改吧, 你这是自己new 了一个新的对象是没有任何数据的,所以保存之后就是你所设置的两个值了其余的值就为null了。