这是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"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<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/exam">
</property>
<property name="username" value="root"></property>
<property name="password" value="1111"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.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>model/User.hbm.xml</value>
</list>
</property>
</bean>
<bean id="baseDAO" class="dao.BaseDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="userDao" class="dao.impl.UserDAO" parent="baseDAO">
</bean>
<bean id="userService" class="service.impl.UserService">
<property name="userDAO" ref="userDAO"/>
</bean>
<bean id="login" class="action.LoginAction">
</bean>
</beans>
model包下:User.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="model.User" table="PeopleUser" catalog="exam">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="username" type="java.lang.String">
<column name="uname" length="10" not-null="true" />
</property>
<property name="password" type="java.lang.String">
<column name="pwd" length="10" not-null="true" />
</property>
<property name="rolename" type="java.lang.String">
<column name="rolename" length="10" not-null="true" />
</property>
<property name="tel" type="java.lang.String">
<column name="tel" length="15" not-null="true" />
</property>
</class>
</hibernate-mapping>
User.java:
package model;
@SuppressWarnings("serial")
public class User implements java.io.Serializable {
private Integer id;
private String username;
private String password;
private String rolename;
private String tel;
public User(){
}
public User(String username,String password){
this.username=username;
this.password=password;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return username;
}
public void setUserName(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRoleName() {
return rolename;
}
public void setRoleName(String rolename){
this.rolename = rolename;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
}
dao.impl包下文件:
package dao.impl;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import dao.BaseDAO;
import dao.IUserDAO;
import model.User;
public class UserDAO extends BaseDAO implements IUserDAO {
@SuppressWarnings("rawtypes")
@Override
public User validateUser(String username, String password) {
String hql="FROM User u WHERE u.username=? AND u.password=?";
Session session=getSession();
Query query=session.createQuery(hql);
query.setParameter(0, username);
query.setParameter(1, password);
List users=query.list();
if (users.size()>0) {
User user=(User)users.get(0);
return user;
}
session.close();
return null;
}
}
总报错,怎么回事啊???????????????
------解决思路----------------------
你user类的get/set方法错了,
比你你的username的get/set方法应该是
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
这东西不要自己写,用eclipse自动生成