applicationContext.xml
Accounts.hbm.xml
AccountsDAO.java
主要包见附件图,有些不需要,比如hibernate-annotations.jar
<?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="test" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url" value="jdbc:mysql://localhost:3306/test"></property>
<property name="username" value="root"></property>
<property name="password" value="111111"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="test" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>entity/User.hbm.xml</value>
<value>entity/Accounts.hbm.xml</value></list>
</property></bean>
<bean id="personManage" class="dao.PersonManage" abstract="false"
lazy-init="default" autowire="default" dependency-check="default">
<property name="sessionFactory" >
<ref local="sessionFactory"/>
</property>
</bean>
<!-- 配置LoginAction.java类文件 -->
<bean id="LoginAction" class="action.LoginAction" >
<property name="personManage">
<ref bean="personManage" />
</property>
</bean>
<bean id="AccountsDAO" class="dao.AccountsDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean></beans>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.objectFactory" value="spring" />
<include file="struts-default.xml"></include>
<package name="default" extends="struts-default">
<action name="loginAction" class="LoginAction" scope="request">
<result name="fail">/login.jsp </result>
<result name="success">/success.jsp</result>
<result name="input">/login.jsp</result>
<result name="userexist">/login.jsp?info=exist</result>
</action>
</package>
</struts>
Accounts.hbm.xml
<?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="entity.Accounts" table="accounts" catalog="test">
<id name="id" type="java.lang.String">
<column name="id" length="50" />
<generator class="uuid"/>
</id>
<property name="userid" type="java.lang.String">
<column name="userid" length="50" not-null="true" unique="true" />
</property>
<property name="account" type="java.lang.Float">
<column name="account" precision="10" />
</property>
</class>
</hibernate-mapping>
AccountsDAO.java
package dao;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.LockMode;
import org.springframework.context.ApplicationContext;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import entity.Accounts;
/**
* Data access object (DAO) for domain model class Accounts.
*
* @see entity.Accounts
* @author MyEclipse Persistence Tools
*/
public class AccountsDAO extends HibernateDaoSupport {
private static final Log log = LogFactory.getLog(AccountsDAO.class);
// property constants
public static final String USERID = "userid";
public static final String ACCOUNT = "account";
protected void initDao() {
// do nothing
}
public void save(Accounts transientInstance) {
log.debug("saving Accounts instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
public void delete(Accounts persistentInstance) {
log.debug("deleting Accounts instance");
try {
getHibernateTemplate().delete(persistentInstance);
log.debug("delete successful");
} catch (RuntimeException re) {
log.error("delete failed", re);
throw re;
}
}
public Accounts findById(java.lang.String id) {
log.debug("getting Accounts instance with id: " + id);
try {
Accounts instance = (Accounts) getHibernateTemplate().get(
"entity.Accounts", id);
return instance;
} catch (RuntimeException re) {
log.error("get failed", re);
throw re;
}
}
public List findByExample(Accounts instance) {
log.debug("finding Accounts instance by example");
try {
List results = getHibernateTemplate().findByExample(instance);
log.debug("find by example successful, result size: "
+ results.size());
return results;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
public List findByProperty(String propertyName, Object value) {
log.debug("finding Accounts instance with property: " + propertyName
+ ", value: " + value);
try {
String queryString = "from Accounts as model where model."
+ propertyName + "= ?";
return getHibernateTemplate().find(queryString, value);
} catch (RuntimeException re) {
log.error("find by property name failed", re);
throw re;
}
}
public List findByUserid(Object userid) {
return findByProperty(USERID, userid);
}
public List findByAccount(Object account) {
return findByProperty(ACCOUNT, account);
}
public List findAll() {
log.debug("finding all Accounts instances");
try {
String queryString = "from Accounts";
return getHibernateTemplate().find(queryString);
} catch (RuntimeException re) {
log.error("find all failed", re);
throw re;
}
}
public Accounts merge(Accounts detachedInstance) {
log.debug("merging Accounts instance");
try {
Accounts result = (Accounts) getHibernateTemplate().merge(
detachedInstance);
log.debug("merge successful");
return result;
} catch (RuntimeException re) {
log.error("merge failed", re);
throw re;
}
}
public void attachDirty(Accounts instance) {
log.debug("attaching dirty Accounts instance");
try {
getHibernateTemplate().saveOrUpdate(instance);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public void attachClean(Accounts instance) {
log.debug("attaching clean Accounts instance");
try {
getHibernateTemplate().lock(instance, LockMode.NONE);
log.debug("attach successful");
} catch (RuntimeException re) {
log.error("attach failed", re);
throw re;
}
}
public static AccountsDAO getFromApplicationContext(ApplicationContext ctx) {
return (AccountsDAO) ctx.getBean("AccountsDAO");
}
}
主要包见附件图,有些不需要,比如hibernate-annotations.jar