写一个spring+hibernate+dao+service的登录程序,service调用UserDao里面的验证方法,但是执行到Session session =getSession();就不往下执行,有哪位大神可以帮我看看,谢谢!
-
清单1:BaseDao.java
-
public class BaseDao {
-
private SessionFactory sessionFactory;
-
public SessionFactory getSessionFactory() {
-
return sessionFactory;
-
}
-
public void setSessionFactory(SessionFactory sessionFactory) {
-
this.sessionFactory = sessionFactory;
-
}
-
public Session getSession(){
-
Session session=sessionFactory.openSession();
-
return session;
-
}
-
}
-
清单2:UserDao.java
-
@Repository
-
public class UserDao extends BaseDao{
-
public User validate(String username) {
-
String sql="from User u where u.username=?";
-
Session session =getSession();
-
Query query=session.createQuery(sql);
-
query.setParameter(0, username);
-
List users=query.list();
-
if(users.size()!=0){
-
User user=(User)users.get(0);
-
return user;
-
}
-
session.close();
-
return null;
-
}
-
}
-
清单3:applicationContext.xml
-
<beans>
-
........
-
<bean id="dataSource"
-
class="org.apache.commons.dbcp.BasicDataSource">
-
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
-
<property name="url" value="jdbc:mysql://localhost:3306"></property>
-
<property name="username" value="root"></property>
-
<property name="password" value="123"></property>
-
</bean>
-
<bean id="sessionFactory"
-
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
-
<property name="dataSource">
-
<ref bean="dataSource" /></property>
-
<property name="hibernateProperties">
-
<props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop></props>
-
</property>
-
<property name="mappingResources">
-
<list><value>com/spring/vo/User.hbm.xml</value></list>
-
</property>
-
</bean>
-
<bean id="transactionManager"
-
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
-
<property name="sessionFactory" ref="sessionFactory" />
-
</bean>
-
<tx:annotation-driven transaction-manager="transactionManager" />
-
<bean id="baseDao" class="com.spring.dao.BaseDao">
-
<property name="sessionFactory">
-
<ref bean="sessionFactory"/></property>
-
</bean>
-
<bean id="userDao" class="com.spring.dao.impl.UserDao" parent="baseDao"/>
-
</beans>