最近有时间 准备用springMVC + Spring + Hibernate 自己作个例子(SrpingMVC 也属于Spring 为了与那些只用Spring管理Hibernate的有点区别所以没有取名Spring+Hibernate)。希望对大家有帮助。
一,采用工具:eclipse, 数据库 oracle.
二,必须包有:
hibernate包:hibernate.jar,ehcache-1.1.jar,c3p0-0.8.5.2.jar,cglib-nodep-2.1.jar
spring包:spring.jar,spring-web.jar
common包:commons-lang.jar,commons-logging.jar,commons-collections.jar
dom4j包:dom4j-1.6.jar
junit包:junit.jar
oracle 驱动包:ojdbc14.zip,不知道为什么tomcat 不认识这个包呢 非的要改成 ojdbc.jar
jstl包:jstl.jar
jta: jta.jar
三,hibernate映射文件是采用Middlegen-Hibernate-r5 从数据库生成,然后根据映射文件,生成对应数据库的javabean
Middlegen-Hibernate-r5 配置说明:
1,首先是下载 Middlegen-Hibernate-r5 地址:http://sourceforge.net/project/showfiles.php?group_id=40712&package_id=84728
2,下载后,以下是需要修改的地方,build.xml中
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml">
]>
改成
<!DOCTYPE project [
<!ENTITY database SYSTEM "file:./config/database/oracle.xml">
]>
3修改Middlegen-Hibernate-r5\config\database\oracle.xml 的配置:
<property environment="env"/>
<property name="database.script.file" value="${src.dir}/sql/${name}-oracle.sql"/>
<property name="database.driver.file" value="${env.ORACLE_HOME}/jdbc/lib/classes12.jar"/>
<property name="database.driver.classpath" value="${database.driver.file}"/>
<property name="database.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="database.url" value="jdbc:oracle:thin:@localhost:1521:<ORASID>"/>
<property name="database.userid" value="scott"/>
<property name="database.password" value="tiger"/>
<property name="database.schema" value=""/>
<property name="database.catalog" value=""/>
<!--property name="jboss.datasource.mapping" value="Oracle7"/-->
<property name="jboss.datasource.mapping" value="Oracle8"/>
<!--property name="jboss.datasource.mapping" value="Oracle9i"/-->
改成你自己的,如下是我的
<property environment="env"/>
<property name="database.script.file" value="${src.dir}/sql/${name}-oracle.sql"/>
<property name="database.driver.file" value="D:/XTZH/XTZH_AH/公共组件/公共jar包/oracle/ojdbc14.zip"/>
<property name="database.driver.classpath" value="${database.driver.file}"/>
<property name="database.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="database.url" value="jdbc:oracle:thin:@localhost:1521:GCR"/>
<property name="database.userid" value="guocr"/>
<property name="database.password" value="123456"/>
<property name="database.schema" value="guocr"/>
<property name="database.catalog" value=""/>
<property name="jboss.datasource.mapping" value="Oracle9i"/>
4,修改 build.xml 下面的 middlegen 命令下面的
<hibernate
destination="${build.gen-src.dir}"
package="com.guocr.forum.domain"
genXDocletTags="false"
genIntergratedCompositeKeys="false"
javaTypeMapper="middlegen.plugins.hibernate.HibernateJavaTypeMapper"
/>
package="com.guocr.forum.domain" 改称你自己的包名称
这些配好后就可以用 ant 运行 middlegen 就可以生成映射文件了, 然后运行hbm2java 就可以生成对应的javabean 文件
四,生成映射文件和对应数据库中的java文件后,开始配置spring bean 管理配置文件。在这里由于时间问题就不多讲配置文件了, 如有问题可以给我消息联系。
我在这里取名为config/ForumServiceBeans.xml
以下是全部配置文件。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!--
<bean +this.getSuccess_view());
return new ModelAndView(this.getSuccess_view());
}
}
package com.guocr.forum.dao.hiberante;
import java.util.List;
import com.guocr.forum.domain.User;
/**
* 2006-06-10
*
* <p>Title: 用户基本信息 </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author guocr
*
* @version 1.0
*/
public interface IUserDAO {
/**
* 返回用户信息
* @param userName 用户姓名
* @return 返回用户信息
* @throws Exception
*/
public User getUser(String userName)throws Exception;
/**
* 返回全部用户基本信息
* @return
* @throws Exception
*/
public List getUsers() throws Exception;
/**
* 保存用户
* @throws Exception
*/
public void saveUser(User user) throws Exception;
/**
* 修改用户信息
* @throws Exception
*/
public void updateUser (User user) throws Exception;
}
package com.guocr.forum.dao.hiberante.impl;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.guocr.forum.dao.hiberante.IUserDAO;
import com.guocr.forum.domain.User;
/**
* 2006-06-10
*
* <p>Title: 用户基本信息实现类 </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: </p>
*
* @author guocr
*
* @version 1.0
*/
public class UserDAO extends HibernateDaoSupport implements IUserDAO {
public User getUser(String userName) throws Exception {
User user = (User)this.getHibernateTemplate().get(User.class,userName);
return user;
}
public List getUsers() throws Exception {
return null;
}
public void saveUser(User user) throws Exception {
this.getHibernateTemplate().save(user);
}
public void updateUser(User user) throws Exception {
this.getHibernateTemplate().update(user);
}
}
最后跳转的页面是 /work/main.jsp,这个页面 你可以随便了。好了先到这里,希望对你有帮助。还有什么问题可以给我发JR消息。