public class TdUserDAO extends BaseHibernateDAO {
public void save(TdUser tdUser) throws HibernateException{
try {
Transaction transaction = getSession().getTransaction();
transaction.begin();
getSession().save(tdUser);
transaction.commit();
} catch (HibernateException e) {
throw e;
}
}

public void delete(TdUser tdUser) throws HibernateException{
try {
Transaction transaction = getSession().getTransaction();
transaction.begin();
getSession().delete(tdUser);
transaction.commit();
} catch (HibernateException e) {
throw e;
}
}

public void attachDirty(TdUser instance) {
try {
getSession().saveOrUpdate(instance);
} catch (RuntimeException re) {
throw re;
}
}

public List findAll() {
try {
String queryString = "from TdUser";
Query queryObject = getSession().createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
throw re;
}
}

public TdUser findById(String id) {
try {
TdUser instance = (TdUser) getSession().get(
"myNewTest.dao.entity.TdUser", id);
return instance;
} catch (RuntimeException re) {
throw re;
}
}
}

解决方案 »

  1.   

    public interface ITdUserService {
    public TdUser getTdUser(String id);
    public List getAllTdUser();
    public boolean addTdUser(TdUser tdUser);
    public boolean deleteTdUser(String id);
    public boolean editTdUser(TdUser tdUser);
    }
    public class TdUserService implements ITdUserService{ private TdUserDAO tdUserDAO;

    public TdUserDAO getTdUserDAO() {
    return tdUserDAO;
    } public void setTdUserDAO(TdUserDAO tdUserDAO) {
    this.tdUserDAO = tdUserDAO;
    } public boolean addTdUser(TdUser tdUser) {
    // TODO Auto-generated method stub
    getTdUserDAO().save(tdUser);
    System.out.println("增加用户:"+tdUser.getEmpName()+"成功");
    return true;
    } public boolean deleteTdUser(String id) {
    // TODO Auto-generated method stub
    TdUser user = new TdUser();
    user.setEmpId(id);
    getTdUserDAO().delete(user);
    return true;
    } public boolean editTdUser(TdUser tdUser) {
    Transaction tran= getTdUserDAO().getSession().beginTransaction();
    getTdUserDAO().getSession().update(tdUser);
    tran.commit();
    System.out.println("修改用户:"+tdUser.getEmpName()+"成功");
    // 模拟网络延迟, 停2秒
    try {
    Thread.sleep(2000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return true;
    } public List getAllTdUser() {
    return getTdUserDAO().findAll();
    } public TdUser getTdUser(String id) {
    // TODO Auto-generated method stub
    return getTdUserDAO().findById(id);
    }}
      

  2.   

    applicationContext.xml配置如下<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
    <bean id="userDAO" class="myNewTest.dao.TdUserDAO"/>

    <bean id="userservice" class="myNewTest.ServiceImpl.TdUserService">
    <property name="tdUserDAO">
    <ref bean="userDAO"/>
    </property>
    </bean></beans>单步调试发现
    public void setTdUserDAO(TdUserDAO tdUserDAO) { 
    this.tdUserDAO = tdUserDAO; 

    里tdUserDAO为null
    应该是注入没有成功,请高手指点下问题出在哪了
      

  3.   

    我只用了spring
    在doPost里调用ITdUserService userService = new TdUserService();这里单步进去的
      

  4.   

    你没有用hibernate?那些看起来与hibernate相关的类是你自己写的吗?
    Transaction 是那个包的?
      

  5.   

    你在web.xml里面加载application.xml文件没有?
    设置监听器没有?
      

  6.   

    我现在将程序简化了,做了个很简单的HelloWorld程序,只用了spring,还是不行
    public class HelloWorld {
    public String nameString; public String getNameString() {
    return nameString;
    } public void setNameString(String nameString) {
    this.nameString = nameString;
    }

    public static void main(Object arg[]){

    }
    }applicationContext.xml<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC
        "-//SPRING//DTD BEAN//EN"
        "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
    <bean id="helloworld" class="springTest.HelloWorld">
    <property name="nameString">
    <value>World</value>
    </property>
    </bean>
    </beans>web.xml<?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <listener>
    <listener-class> org.springframework.web.context.ContextLoaderListener 
    </listener-class>
    </listener>
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    </web-app>然后在index.jsp里调用
    <% HelloWorld hello = new HelloWorld();
    out.println("Hello " + hello.getNameString());

    %>
    返回hello.getNameString()一直为null