spring data jpa: by
madhav
TUTIORALS FROM MADHAV:
------------------------------------------------------------------------------------------------------pom.xml
----------------------------------------------------------------------------------------------
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>jpadata</groupId>
<artifactId>jpadata</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<org.springframework.version>3.1.2.RELEASE</org.springframework.version><org.springframework.data.version>1.1.0.RELEASE</org.springframework.data.version><org.hibernate.version>4.1.6.Final</org.hibernate.version><org.hibernate.validator.version>4.2.0.Final</org.hibernate.validator.version><org.slf4j.version>1.6.4</org.slf4j.version><ch.qos.logback.version>1.0.2</ch.qos.logback.version>
<joda-time.version>2.1</joda-time.version>
<mysql.version>5.1.19</mysql.version>
<commons-logging.version>1.1.1</commons-logging.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>${org.springframework.data.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework.version}</version>
</dependency><dependency><groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${org.hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${org.hibernate.validator.version}</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j.version}</version></dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId><version>${org.slf4j.version}</version>
<scope>runtime</scope></dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${ch.qos.logback.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.19</version></dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration><source>1.6</source><target>1.6</target></configuration>
</plugin>
</plugins>
</build>
</project>
------------------------------------------------------------------------------------------------------------
ChargeCode .java
------------------------------------------------------------------------------------------------------------
package repository;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.springframework.data.jpa.domain.AbstractPersistable;
@Entity
@Table(name = "charge_codes")
public class ChargeCode extends AbstractPersistable<Long>{
@Column(name = "charge_code", nullable = false, length = 20, unique=true)
private String chargeCode;
@Column(name = "charge_description", nullable = false, length = 20)
private String chargeDescription;
@Column(name = "charge_type", nullable = false, length = 20)
private String chargeType;
public ChargeCode(String chargeCode,String chargeDescription,String chargeType)
{
this.chargeCode=chargeCode;
this.chargeDescription=chargeDescription;
this.chargeType=chargeType;
}
public ChargeCode() {
// TODO Auto-generated constructor stub
}
}
------------------------------------------------------------------------------------------------------------ChargeCodeRepository .java
-----------------------------------------------------------------------------------------------------------
package repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
public interface ChargeCodeRepository extends JpaRepository<ChargeCode, Long>,
JpaSpecificationExecutor<ChargeCode>{
}
-------------------------------------------------------------------------------------------------------
persistance.xml
--------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?><
persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="spring.data.jpa">
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mysql" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.username" value="root" />
<property name="hibernate.connection.password" value="mysql" />
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="create"/> </properties>
</persistence-unit></
persistence> -------------------------------------------------------------------------------------------------------
beans.xml
------------------------------------------------------------------------------------------------------ <context:component-scan base-package="madhav,repository"></context:component-scan>
<context:annotation-config>
</context:annotation-config>
<!--<context:property-placeholder/>
-->
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="username" value="root"></property><property name="password" value="mysql"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mysql"></property><property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"><property name="dataSource" ref="dataSource"></property>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"><property name="showSql" value="false"></property>
<property name="database" value="MYSQL"></property>
</bean>
</property><!-- <property name="jpaProperties">
<props>
<prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.ImprovedNamingStrategy</prop>
</props>
</property>
-->
<property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml"></property>
<property name="persistenceUnitName" value="spring.data.jpa"></property><aop:scoped-proxy proxy-target-class="false"/>
</bean>
< bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"><property name="entityManagerFactory" ref="entityManagerFactory"></property>
<property name="dataSource" ref="dataSource"></property>
<property name="persistenceUnitName" value="spring.data.jpa"></property>
</bean>
< jpa:repositories base-package="repository"entity-manager-factory-ref="entityManagerFactory"transaction-manager-ref="transactionManager"></jpa:repositories>
</beans>
-------------------------------------------------------------------------------------------
TestCase .java
-------------------------------------------------------------------------------------------
package madhav;
import repository.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.data.domain.AuditorAware;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service
public class TestCase {
@Autowired
private ChargeCodeRepository chargeCodeRepository;
@Transactional
public void createCharge() {
try
{
ChargeCode cd=new ChargeCode("softech", "madhav is a good boy", "gmrdizzy@gmail.com");
this.chargeCodeRepository.saveAndFlush(cd);
}
catch(Exception ex)
{
}
}
public ChargeCodeRepository getChargeCodeRepository() {
return chargeCodeRepository;
}
public void setChargeCodeRepository(ChargeCodeRepository chargeCodeRepository) {
this.chargeCodeRepository = chargeCodeRepository;
}
}
-------------------------------------------------------------------------------------------
Test .java
------------------------------------------------------------------------------------------
package madhav;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) {
ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
Object tc=(Object)ctx.getBean("testCase");
TestCase g=(TestCase)tc;
g.createCharge();
}
}
------------------------------------------------------------------------------------------------------------
output in the sql prompt:
-------------------------------------------------------------------------------------------------------
Related topics:
------------------------
1. pring data jpa example program for insert
2. spring data jpa example for delete
3. spring data jpa example for update
4. spring data jpa inheritance table for subclass
5. spring data jpa inheritance table for class
6. spring data jpa onetoone
TUTIORALS FROM MADHAV:
No comments:
Post a Comment