0) To proceed with this example, complete the Spring Hello World Example and the Hibernate Hello World Example
1) Put 2 jar files from the Apache Commons collection in the WebContent/WEB-INF/lib folder of the web application - download the jars from this link
2) Add the following elements to the Spring configuration file, applicationContext.xml
Integrating Spring with Hibernate results in the hibernate.cfg.xml becoming obsolete - the configuration in hibernate.cfg.xml is now put in the applicationContext.xml
Configuration for DataSource (Database Connection properties)
Configuration for Hibernate (of hibernate.cfg.xml)
Configuration for HibernateTemplate, DAOs, etc.
3) Create a MyDAO.java class in the src folder of the web application - this class does the actual persistence
4) Create a client JSP - springHibernate.jsp - in the WebContent folder of the web application
5) Test the example with the following URL in the browser,
Log into Oracle Database and check the contents of the appropriate table
1) Put 2 jar files from the Apache Commons collection in the WebContent/WEB-INF/lib folder of the web application - download the jars from this link
2) Add the following elements to the Spring configuration file, applicationContext.xml
Integrating Spring with Hibernate results in the hibernate.cfg.xml becoming obsolete - the configuration in hibernate.cfg.xml is now put in the applicationContext.xml
Configuration for DataSource (Database Connection properties)
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="system" />
<property name="password" value="system" />
</bean>
Configuration for Hibernate (of hibernate.cfg.xml)
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>info/icontraining/hibernate/Message.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</prop>
</props>
</property>
</bean>
Configuration for HibernateTemplate, DAOs, etc.
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="myDao" class="info.icontraining.dao.MyDAO">
<property name="hibernateTemplate" ref="hibernateTemplate" />
</bean>
3) Create a MyDAO.java class in the src folder of the web application - this class does the actual persistence
package info.icontraining.dao;
import java.util.List;
import info.icontraining.hibernate.Message;
import org.springframework.orm.hibernate3.HibernateTemplate;
public class MyDAO {
private HibernateTemplate hibernateTemplate;
public void setHibernateTemplate(HibernateTemplate template) {
this.hibernateTemplate = template;
}
public void saveData(String str) {
Message message1 = new Message(str);
hibernateTemplate.save(message1);
}
public int retrieveData() {
List<Message> messages = hibernateTemplate.find("from Message as m order by m.text asc");
return messages.size();
}
}
4) Create a client JSP - springHibernate.jsp - in the WebContent folder of the web application
<%@ page import="org.springframework.context.*,org.springframework.web.context.*,info.icontraining.spring.*,info.icontraining.dao.*"%>
<html>
<body>
<%
ApplicationContext factory =
(ApplicationContext) this.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
MyDAO mydao = (MyDAO)factory.getBean("myDao");
mydao.saveData("Spring Hibernate");
int numMessages = mydao.retrieveData();
%>
<%= numMessages + " messages found." %>
</body>
</html>
5) Test the example with the following URL in the browser,
http://localhost:8080/WebAppName/springHibernate.jsp
Log into Oracle Database and check the contents of the appropriate table
No comments:
Post a Comment