Advertisement
package decodejava;
public class Customer
{
private int id;
private String name;
private String address;
private int age;
//Default Constructor
public Customer()
{
}
//Parameterized Constructor
public Customer(int id, String name, String address, int age)
{
this.id = id;
this.name = name;
this.address= address;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getAddress()
{
return address;
}
public void setAddress(String address)
{
this.address = address;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
}
package decodejava;
import java.util.List;
import org.springframework.orm.hibernate5.HibernateTemplate;
import org.springframework.transaction.annotation.Transactional;
public class CustomerDAO
{
private HibernateTemplate hibernateTemplate;
//Getter for HibernateTemplate
public HibernateTemplate getHibernateTemplate() {
return hibernateTemplate;
}
//Setter for HibernateTemplate
public void setHibernateTemplate(HibernateTemplate hibernateTemplate)
{
this.hibernateTemplate = hibernateTemplate;
}
//Adding a customer
@Transactional
public void addCustomer(Customer c)
{
hibernateTemplate.save(c);
}
//Deleting a customer
@Transactional
public void deleteCustomer(int id)
{
Customer c=hibernateTemplate.get(Customer.class,id);
hibernateTemplate.delete(c);
}
//Extracting a count of all the customers
public int countCustomer()
{
List<Customer> list =hibernateTemplate.loadAll(Customer.class);
return list.size();
}
//Getting a List of all customers from database
public List<Customer> getAllCustomer()
{
List<Customer> list =hibernateTemplate.loadAll(Customer.class);
return list;
}
}
Advertisement
package decodejava;
import java.util.List;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class Utility {
public static void main(String[] args)
{
ApplicationContext context = new FileSystemXmlApplicationContext("classpath:config.beans.xml");
CustomerDAO customerDAO = context.getBean("CustomerDAOBean",CustomerDAO.class);
System.out.println("Adding the customers");
customerDAO.addCustomer(new Customer(1, "First Customer", "First Address", 23));
customerDAO.addCustomer(new Customer(2, "Second Customer", "Second Address", 27));
customerDAO.addCustomer(new Customer(3, "Third Customer", "Third Address", 21));
System.out.println("Getting all the customers from the database");
List<Customer> allCustomers = customerDAO.getAllCustomer();
for(Customer cust : allCustomers)
{
System.out.println("Customer ID : " + cust.getId());
System.out.println("Customer Name : " + cust.getName());
System.out.println("Customer Address : " + cust.getAddress());
System.out.println("Customer Age : " + cust.getAge());
}
System.out.println("Getting the total count of all the Customers");
System.out.println("Total Customers : " + customerDAO.countCustomer());
System.out.println("Deleting a Customer");
customerDAO.deleteCustomer(2);
System.out.println("Getting the new total count of all the Customers after deleting a customer");
System.out.println("Total Customers : " + customerDAO.countCustomer());
}
}
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name = "decodejava.Customer" table = "customer">
<id name = "id" column = "Id" type = "int">
<generator class="native"/>
</id>
<property name = "name" column = "Name" type = "string"/>
<property name = "address" column = "Address" type = "string"/>
<property name = "age" column = "Age" type = "int"/>
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
">
<bean id="CustomerDAOBean" class="decodejava.CustomerDAO">
<property name="hibernateTemplate" ref="hibernateTemplateBean"></property>
</bean>
<bean id="hibernateTemplateBean" class="org.springframework.orm.hibernate5.HibernateTemplate">
<property name="sessionFactory" ref="SessionFactoryBean"></property>
</bean>
<tx:annotation-driven transaction-manager="txManagerBean"/>
<bean id="txManagerBean" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="SessionFactoryBean"></property>
</bean>
<bean id="SessionFactoryBean" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSourceBean">&;t;/property>
<property name="mappingResources" value="customer.hbm.xml"></property>
<property name="hibernateProperties">
<value>
hibernate.hbm2ddl.auto=create
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
hibernate.show_sql=true
hibernate.default_schema=system
</value>
</property>
</bean>
<bean id="dataSourceBean" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"></property>
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="username" value="scott"></property>
<property name="password" value="tiger"></property>
</bean>
</beans>
Jul 31, 2018 1:39:30 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@26f0a63f: startup date [Tue Jul 31 13:39:30 2018]; root of context hierarchy
Jul 31, 2018 1:39:30 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [config.beans.xml]
Jul 31, 2018 1:39:31 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
INFO: Loaded JDBC driver: oracle.jdbc.driver.OracleDriver
Jul 31, 2018 1:39:32 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.17.Final}
Jul 31, 2018 1:39:32 PM org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
Jul 31, 2018 1:39:34 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
Jul 31, 2018 1:39:34 PM org.hibernate.dialect.Dialect
INFO: HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
Hibernate: create sequence system.hibernate_sequence start with 1 increment by 1
Hibernate: create table system.customer (Id number(10,0) not null, Name varchar2(255 char), Address varchar2(255 char), Age number(10,0), primary key (Id))
Jul 31, 2018 1:39:36 PM org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@60921b21'
Jul 31, 2018 1:39:37 PM org.springframework.orm.hibernate5.HibernateTransactionManager afterPropertiesSet
INFO: Using DataSource org.springframework.jdbc.datasource.DriverManagerDataSource@771db12c of Hibernate SessionFactory for HibernateTransactionManager
Adding the customers
Hibernate: select system.hibernate_sequence.nextval from dual
Hibernate: insert into system.customer (Name, Address, Age, Id) values (?, ?, ?, ?)
Hibernate: select system.hibernate_sequence.nextval from dual
Hibernate: insert into system.customer (Name, Address, Age, Id) values (?, ?, ?, ?)
Hibernate: select system.hibernate_sequence.nextval from dual
Hibernate: insert into system.customer (Name, Address, Age, Id) values (?, ?, ?, ?)
Getting all the customers from the database
Jul 31, 2018 1:39:37 PM org.hibernate.internal.SessionImpl createCriteria
Hibernate: select this_.Id as Id1_0_0_, this_.Name as Name2_0_0_, this_.Address as Address3_0_0_, this_.Age as Age4_0_0_ from system.customer this_
Jul 31, 2018 1:39:37 PM org.hibernate.internal.SessionImpl createCriteria
Customer ID : 1
Customer Name : First Customer
Customer Address : First Address
Customer Age : 23
Customer ID : 2
Customer Name : Second Customer
Customer Address : Second Address
Customer Age : 27
Customer ID : 3
Customer Name : Third Customer
Customer Address : Third Address
Customer Age : 21
Getting the total count of all the Customers
Hibernate: select this_.Id as Id1_0_0_, this_.Name as Name2_0_0_, this_.Address as Address3_0_0_, this_.Age as Age4_0_0_ from system.customer this_
Total Customers : 3
Deleting a Customer
Hibernate: select customer0_.Id as Id1_0_0_, customer0_.Name as Name2_0_0_, customer0_.Address as Address3_0_0_, customer0_.Age as Age4_0_0_ from system.customer customer0_ where customer0_.Id=?
Hibernate: delete from system.customer where Id=?
Getting the new total count of all the Customers after deleting a customer
Hibernate: select this_.Id as Id1_0_0_, this_.Name as Name2_0_0_, this_.Address as Address3_0_0_, this_.Age as Age4_0_0_ from system.customer this_
Total Customers : 2
Advertisement
Advertisement
Please check our latest addition
C#, PYTHON and DJANGO
Advertisement