package Dao;import java.util.List;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class BaseDao extends HibernateDaoSupport implements IBaseDao{ public Object findById(Class cls, String id) {
return getHibernateTemplate().get(cls, id);
} public List select(String sql) {
/*
Session ss=getHibernateTemplate().getSessionFactory().getCurrentSession();
Transaction transaction =null;
ss.beginTransaction();
SQLQuery result=null;
try {
result = ss.createSQLQuery(sql);
System.out.println(sql);
return result.list();
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
transaction.commit();
}
*/
return getHibernateTemplate().find(sql);
}
public static void main(String[] args) {
new BaseDao().select("from AssetsTb");
}
}异常:
Exception in thread "main" java.lang.NullPointerException
at Dao.BaseDao.select(BaseDao.java:30)
at Dao.BaseDao.main(BaseDao.java:35)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--Mapping file autogenerated by MyEclipse Persistence Tools-->
<hibernate-mapping>
<class name="vo.AssetsTb" table="ASSETS_TB" schema="AMS">
<id name="assId" type="java.lang.String">
<column name="ASS_ID" />
<generator class="native"></generator>
</id>
<property name="assName" type="java.lang.String">
<column name="ASS_NAME" not-null="true" />
</property>
<property name="assPrice" type="java.lang.String">
<column name="ASS_PRICE" />
</property>
<property name="assStatus" type="java.lang.String">
<column name="ASS_STATUS" not-null="true" />
</property>
<property name="assUnit" type="java.lang.String">
<column name="ASS_UNIT" not-null="true" />
</property>
<property name="assDutyUser" type="java.lang.String">
<column name="ASS_DUTY_USER" not-null="true" />
</property>
<property name="assDepartment" type="java.lang.String">
<column name="ASS_DEPARTMENT" not-null="true" />
</property>
<property name="optioner" type="java.lang.String">
<column name="OPTIONER" not-null="true" />
</property>
<property name="optiondate" type="java.util.Date">
<column name="OPTIONDATE" length="7" not-null="true" />
</property>
<property name="stkUser" type="java.lang.String">
<column name="STK_USER" not-null="true" />
</property>
<property name="stkDate" type="java.util.Date">
<column name="STK_DATE" length="7" not-null="true" />
</property>
<property name="re" type="java.lang.String">
<column name="REMARK" />
</property>
</class>
</hibernate-mapping>
<?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="DBS" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver">
</property>
<property name="url" value="jdbc:oracle:thin:@10.246.15.26:1521:XE">
</property>
<property name="username" value="ams"></property>
<property name="password" value="ams"></property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="DBS"></ref>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>vo/AssetsTb.hbm.xml</value>
</list>
</property>
</bean>
<bean id="dao" class="Dao.BaseDao">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="test" class="service.test" scope="prototype">
<property name="dao">
<ref bean="dao"/>
</property>
</bean>
</beans>
解决方案 »
- [spring]怎么在给一个对象注入另一个对象时指定后者的构造方法,并传参?
- jdbc问题求解
- 在JSP页面怎样用foreach标签循环遍历输入Map集合?
- 调用HibernateTemplate.find()怎么总是报source not found错误啊.
- jboss更改jsp都需要重新启动服务器
- struts + DAO怎样实现分页??急急!!!
- 请问weblgoic配置自定义文件路径问题!谢谢!
- j2ee j2me 哪个有钱图,学EJB要学JAVABEAN么
- 问个问题J2EE和JAVA到底有什么区别呀
- 求助! 求哪里下载Linux操作系统?
- 下面是详细的相关文件内容
- 关于数据库连接池的问题
public static void main(String[] args) {
new BaseDao().select("from AssetsTb");
}
}这里new 一个dao对象,不报空指针就怪事来了!
DAO dao = (DAO)ctx.getBean("dao");
dao.select("from AssetsTb");
就有了,你可以试试!