我的Action里面有下面的两种查询方法:
第一种:
Teacher teacher=new Teacher();
teacher=iTeacherService.getTeacherById(id);
第二种:
Teacher teacher=null;
teacher=iTeacherService.getTeacherById(id);
Teacher为po对象,iTeacherService为服务层,采用SSH框架
为什么第一种查不出数据而第二种可以。
求大牛解释。

解决方案 »

  1.   

    System.out.println(teacher.getName()+":"+teacher.getPwd()+":"+teacher.getId());
    是这样的,第一种查出的总是为null
    第二种却可以查出数据
      

  2.   

    public class Teacher {
    public static Teacher getTeacherById() {
    System.out.println("ss");
    return null;
    }
    public static void main(String[] args) {
    Teacher teacher1=new Teacher();
    System.out.println(teacher1);
    // Teacher iTeacherService;
    // teacher1=Teacher.getTeacherById();
    Teacher teacher2=null;
    System.out.println(teacher2);
    // Teacher iTeacherService;
    // teacher2=Teacher.getTeacherById(); }}
    你看看我写的代码    根据你的意思  你体会一下思考思考    意在体会
      

  3.   

    好像是Hibernate的管理机制不一样吧
      

  4.   

    第一种 teacher 你自己实例化了 当然为空,struts已经给teacher实例化了 所以你new就没有了
      

  5.   

    lz 是不是new() 了个对象,所以你打印这个对象时全是空的
      

  6.   

    就是嘛!都是为Teacher 对象赋值!怎么会错呢!