开发工具:MyEclipse5.1+Tomcat+Mysql
开发前准备:数据库安装,tomcat安装,下载jar包这些就不费口水了,直接切入正题吧
CREATE TABLE `people` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(100) default NULL,
`location` varchar(100) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 ROW_FORMAT=COMPRESSED;
首先,建立工程和package,以下是我的工程目录
action
DeletePeopleAction.java //删除人员action
EditPeopleAction.java //编辑人员action第一步,读取需要修改的人员资料
EditPeopleActionDo.java //修改人员action
ListPeopleAction.javaSave //显示人员列表action
SavePeopleAction.java //新增人员action
SearchPeopleAction.java //查找人员action
dao
IDAO.java //数据库操作接口
StudentDAOImpl.java //数据库操作实现
domain
AbstractPeople.java //实体抽象类
People.hbm.xml //数据库映射
People.java //实体类
service
IService.java //服务层接口
StudentManagerImpl.java //服务层实现
util
Character.java //字符编码过滤器
PageSupport.java //分页
applicationContext_hibernate.xml //Spring配置文件(hibernate部分)
applicationContext_service.xml //Spring配置文件(Service部分)
JSP:这几个jsp从名字就能看出功能,不说了
addStudent.jsp
editStudent.jsp
searchList.jsp
searchStudent.jsp
studentList.jsp
代码:
applicationContext_hibernate.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/StudentManager</value>
</property>
</bean>
-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://localhost:3306/studentmanager</value>
</property>
<property name="username">
<value>root</value>
</property>
<property name="password">
<value>1234</value>
</property>
</bean>
<bean id="TransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
</bean>
<bean id="sessionFactory"
class ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.HashtableCacheProvider
</prop>
</props>
</property>
<!--
<property name="mappingDirectoryLocations">
<list>
<value>classpath:/domain</value>
</list>
</property>-->
<property name="mappingResources">
<list>
<value>domain/People.hbm.xml</value>
</list>
</property>
</bean>
<bean id="StudentDAO" class="dao.StudentDAOImpl">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
</beans>
applicationContext_service.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="studentManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager"></ref>
</property>
<property name="target">
<bean class="service.StudentManagerImpl">
<property name="studentDAO">
<ref bean="StudentDAO"/>
</property>
</bean>
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="edit*">PROPAGATION_REQUIRED</prop>
<prop key="search*">PROPAGATION_REQUIRED</prop>
</props>
</property>
<property name="proxyTargetClass">
<value>true</value>
</property>
</bean>
</beans>