spring mvc +hibernate 实现对学生信息的增删改查功能Word文档格式.docx
《spring mvc +hibernate 实现对学生信息的增删改查功能Word文档格式.docx》由会员分享,可在线阅读,更多相关《spring mvc +hibernate 实现对学生信息的增删改查功能Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
1.0"
encoding="
UTF-8"
>
beansxmlns="
http:
//www.springframework.org/schema/beans"
xmlns:
xsi="
//www.w3.org/2001/XMLSchema-instance"
context="
//www.springframework.org/schema/context"
mvc="
//www.springframework.org/schema/mvc"
xsi:
schemaLocation="
//www.springframework.org/schema/beans
//www.springframework.org/schema/beans/spring-beans.xsd"
beanid="
studentDAO"
class="
com.app.dao.impl.StudentDAOimpl"
propertyname="
sessionFactory"
ref="
/property>
/bean>
studentManagerBase"
com.app.service.impl.StudentManagerImpl"
beanname="
studentManager"
parent="
transactionProxy"
target"
/beans>
spring-common.xml内容如下:
tx="
//www.springframework.org/schema/tx"
//www.springframework.org/schema/beans/spring-beans.xsd
//www.springframework.org/schema/tx
//www.springframework.org/schema/tx/spring-tx-3.0.xsd"
!
--配置数据源-->
dataSource"
class="
org.springframework.jdbc.datasource.DriverManagerDataSource"
driverClassName"
value="
com.mysql.jdbc.Driver"
url"
jdbc:
mysql:
//localhost:
3306/student?
useUnicode=true&
amp;
characterEncoding=UTF-8"
username"
root"
password"
1234"
--配置SessionFactory-->
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"
/>
hibernateProperties"
props>
propkey="
hibernate.dialect"
org.hibernate.dialect.MySQLDialect<
/prop>
hibernate.hbm2ddl.auto"
update<
hibernate.show_sql"
true<
hibernate.format_sql"
/props>
--注解扫描的包-->
annotatedClasses"
list>
value>
com.app.entity.Student<
/value>
/list>
--
hibernateTemplete"
org.springframework.orm.hibernate3.HibernateTemplate"
-->
--配置一个事务管理器-->
transactionManager"
org.springframework.orm.hibernate3.HibernateTransactionManager"
tx:
annotation-driventransaction-manager="
org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="
true"
transactionAttributes"
add*"
PROPAGATION_REQUIRED,-Exception<
edi*"
PROPAGATION_REQUIRED,-myException<
del*"
PROPAGATION_REQUIRED<
*"
spring-mvc.xml内容如下:
p="
//www.springframework.org/schema/p"
//www.springframework.org/schema/beans
//www.springframework.org/schema/beans/spring-beans-3.0.xsd
//www.springframework.org/schema/context
//www.springframework.org/schema/context/spring-context-3.0.xsd
//www.springframework.org/schema/mvc
//www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
--注解扫描包-->
context:
component-scanbase-package="
com.app.*"
--开启注解-->
mvc:
annotation-driven/>
--定义视图解析器-->
viewResolver"
org.springframework.web.servlet.view.InternalResourceViewResolver"
prefix"
/"
suffix"
.jsp"
第五步:
配置web.xml,具体如下:
web-appxmlns:
xmlns="
web="
id="
WebApp_ID"
version="
2.5"
--加载所有的配置文件-->
context-param>
param-name>
contextConfigLocation<
/param-name>
param-value>
classpath*:
config/spring-*.xml<
/param-value>
/context-param>
--配置Spring监听-->
listener>
listener-class>
org.springframework.web.context.ContextLoaderListener<
/listener-class>
/listener>
--配置字符集-->
filter>
filter-name>
encodingFilter<
/filter-name>
filter-class>
org.springframework.web.filter.CharacterEncodingFilter<
/filter-class>
init-param>
encoding<
UTF-8<
/init-param>
forceEncoding<
/filter>
filter-mapping>
url-pattern>
/*<
/url-pattern>
/filter-mapping>
--配置SpringMVC-->
servlet>
servlet-name>
student<
/servlet-name>
servlet-class>
org.springframework.web.servlet.DispatcherServlet<
/servlet-class>
config/spring-mvc.xml<
--指定当web应用启动时,装载servlet的次序。
当值为0或正数时,servlet容器先加载;
如果值为负数或者没有设定,那么servlet容器将在web客户首次访问这个servlet时加载它。
load-on-startup>
1<
/load-on-startup>
/servlet>
servlet-mapping>
/<
/servlet-mapping>
--引用js,如果无此配置,则无法对js进行加载-->
default<
*.js<
/web-app>
第六步:
创建package和java文件,目录如下:
下来就是根据具体的要求编写代码了,现在将详细的代码罗列出来哦
Student.java
packagecom.app.entity;
importjava.io.Serializable;
importjavax.persistence.Column;
importjavax.persistence.Entity;
importjavax.persistence.GeneratedValue;
importjavax.persistence.Id;
importjavax.persistence.Table;
importorg.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="
student_info"
)
publicclassStudentimplementsSerializable{
@Id
@GeneratedValue(generator="
system-uuid"
)
@GenericGenerator(name="
strategy="
uuid"
@Column(length=32)
privateStringid;
@Column(length=5)
privateStringname;
@Column(length=2)
privateIntegerage;
privateStringsex;
privateStringnum;
publicStringgetId(){
returnid;
}
publicvoidsetId(Stringid){
this.id=id;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicIntegergetAge(){
returnage;
publicvoidsetAge(Integerage){
this.age=age;
publicStringgetSex(){
returnsex;
publicvoidsetSex(Stringsex){
this.sex=sex;
publicStringgetNum(){
returnnum;
publicvoidsetNum(Stringnum){
this.num=num;
StudentDAO.java
packagecom.app.dao;
importjava.util.List;
importorg.springframework.stereotype.Repository;
importcom.app.entity.Student;
publicinterfaceStudentDAO{
publicList<
Student>
allStudent(Stringpage);
publicStudentfindById(Stringid);
publicvoidaddStudent(Studentstudent);
publicbooleandeleteStudent(Stringid);
publicbooleanupdateStudent(Studentstudent);
queryStudent(Studentstudent);
publicintgetPageNum();
StudentDAOimpl.java
packagecom.app.dao.impl;
importorg.hibernate.Query;
importorg.hibernate.SessionFactory;
importcom.app.dao.StudentDAO;
publicclassStudentDAOimplimplementsStudentDAO{
privateSessionFactorysessionFactory;
privateintpageSize=10;
publicvoidsetSessionFactory(SessionFactorysessionFactory){
this.sessionFactory=sessionFactory;
publicvoidaddStudent(Studentstudent){
sessionFactory.getCurrentSession().save(student);
/**
*获取所有学生
*/
allStudent(Stringpage){
Stringhql="
fromStudent"
;
Queryquery=sessionFactory.getCurrentSession().createQuery(hql);
query.setFirstResult((Integer.parseInt(page)-1)*pageSize);
query.setMaxResults(pageSize);
returnquery.list();
*根据id删除学生
publicbooleandeleteStudent(Stringid){
Stringhql="
deleteStudentswheres.id=?
"
query.setString(0,id);
return(query.executeUpdate()>
0);
*根据id查找学生
publicStudentfindById(Stringid){
Stringhql="
fromStudentswheres.id=?