Showing posts with label Hibernate Annotations and Spring. Show all posts
Showing posts with label Hibernate Annotations and Spring. Show all posts

Hibernate Annotations and Spring

Let us make the previous Hibernate Application to Spring application with the same entity class Item.java and Sale.java

Step 1:

Let us make DAO classes MyDAO.java and MyDAOImpl.java

//MyDAO.java
package me.gs.dao;
import me.gs.model.Item;

import me.gs.model.Sale;

public interface MyDAO
{
public void saveItem(Item item);

public void saveSale(Sale sale);

}


//MyDAOImpl.java

package me.gs.dao;

import me.gs.model.Item;

import me.gs.model.Sale;

import org.hibernate.SessionFactory;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.stereotype.Repository;

@Repository("MyDAO")
public class MyDAOImpl implements MyDAO
{

private HibernateTemplate hibernateTemplate;


@Autowired

public void createHibernateTemplate(SessionFactory sessionFactory)
{

this.hibernateTemplate = new HibernateTemplate(sessionFactory);

}


public void saveItem(Item item)
{

hibernateTemplate.save(item);
}

public void saveSale(Sale sale)
{

hibernateTemplate.save(sale);
}

}


Step 2:

Add jdbc.properties file inside the WEB-INF directory with bellow code

jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/my jdbc.username=root jdbc.password=

Step 3:
we may remove bellow code from hibernate.cfg.xml or comment or let it be exist in fact its not needed as we added jdbc.properties file

< property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect < /property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/my</property> <property name="hibernate.connection.username">root</property>

Step 4:
Locate the applicationContext.xml and edit with the bellow code inside the WEB-INF folder




Step 5:
Let us make a jUnit test class to test the application this time.

import me.gs.dao.MyDAO;

import me.gs.model.Item;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class TestSpring
{

public TestSpring()
{

}

@Test

public void testSpringHB()
{

ApplicationContext context = new FileSystemXmlApplicationContext("web/WEB-INF/applicationContext.xml");


MyDAO idao = (MyDAO) context.getBean("MyDAO");
Item item = new Item();

item.setName("item3");

item.setCode("code3");

idao.saveItem(item);
}

}
Output comes as bellow: