belajar integrasi spring mvc hibernate entity manager spring data jpa | java php laravel linux mysql sql bootstrap html css query java php laravel linux mysql sql bootstrap html css query: belajar integrasi spring mvc hibernate entity manager spring data jpa

Monday, December 8, 2014

belajar integrasi spring mvc hibernate entity manager spring data jpa

Belajar mengintergrasikan spring mvc, hibernate entity manager, spring data jpa menggunakan database mysql

Bismillah

q> Lanjutan dari :
https://saifiahmada.wordpress.com/2014/12/08/contoh-addattribute-spring-mvc/

q> Langkah-langkah yang akan dipraktekan :
1. pada web.xml tambahkan listener
2. buat file applicationContext
3. tambahkan namespace context pada applicationContext
4. tambahkan context:component-scan + context:exclude-filter pada applicationContext
5. tambahkan dependency hibernate entity manager 4.3.4
6. tambahkan dependency spring data jpa  1.5.1-RELEASE
7. tambahkan dependency mysql-connector 5.1.34
8. tambahkan bean dataSource pada applicationContext
9. tambahkan file jdbc.properties
10. tambahkan context:property-placeholder pada applicationContext
11. tambahkan bean class LocalContainerEntityManager pada applicationContext
12. tambahkan namespace tx pada applicationContext
13. tambahkan tx:annotation-driven @transaction-manager= transactionManager pada applicationContext
14. tambahkan bean class JpaTransactionManager id = "transactionManager" pada applicationContext
15. buat class Siswa dalam package com.saifiahmada.maven.entity
16. jalankan project menggunakan jetty
17. cek tabel yang terbentuk setelah project ini dijalankan

q> pada web.xml tambahkan listener

[sourcecode language="xml"]<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
[/sourcecode]

q> buat file applicationContext
pada file applicationContext.xml pada folder WEB-INF

q> tambahkan namespace context pada applicationContext
Selection_591

q> tambahkan context:component-scan + context:exclude-filter pada applicationContext

[sourcecode language="xml"]<context:component-scan base-package="com.saifiahmada.maven">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
[/sourcecode]

q> tambahkan dependency hibernate entity manager 4.3.4

[sourcecode language="xml"]<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.4.Final</version>
</dependency>
[/sourcecode]

q> tambahkan dependency spring data jpa  1.5.1-RELEASE

[sourcecode language="xml"]<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.5.1.RELEASE</version>
</dependency>
[/sourcecode]

q> tambahkan dependency mysql-connector 5.1.34

[sourcecode language="xml"]<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
[/sourcecode]

q> tambahkan dependency c3p0

[sourcecode language="xml"]<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.0.4</version>
</dependency>
[/sourcecode]

q> tambahkan bean dataSource pada applicationContext

[sourcecode language="xml"]<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.jdbcUrl}" />
<property name="user" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</bean>
[/sourcecode]

q> tambahkan file jdbc.properties
buat file jdbc.properties pada folder WEB-INF

[sourcecode language="bash"]
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/belajarzhs
jdbc.user=root
jdbc.password=isi_dengan_password_root
[/sourcecode]


untuk nilai url,user, dan password harap sesuikan


q> tambahkan context:property-placeholder pada applicationContext

[sourcecode language="xml"]<context:property-placeholder location="/WEB-INF/jdbc.properties"/>[/sourcecode]

q> tambahkan bean class LocalContainerEntityManager pada applicationContext

[sourcecode language="xml"]<bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="packagesToScan" value="com.saifiahmada.maven.entity" />
<property name="dataSource" ref="dataSource" />
<property name="jpaProperties">
<props>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
<property name="persistenceProvider">
<bean class="org.hibernate.jpa.HibernatePersistenceProvider" />
</property>
</bean>
[/sourcecode]

q> tambahkan namespace tx pada applicationContext

Selection_590

q> tambahkan tx:annotation-driven transaction-manager= transactionManager pada applicationContext

[sourcecode language="xml"]<tx:annotation-driven transaction-manager="transactionManager"/>[/sourcecode]

q> tambahkan bean class JpaTransactionManager id = "transactionManager" pada applicationContext

[sourcecode language="xml"]<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
[/sourcecode]

q> buat class Siswa dalam package com.saifiahmada.maven.entity

[sourcecode language="java"]

package com.saifiahmada.maven.entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Siswa {

@Id
@GeneratedValue
private int id;

private String nama;

private String alamat;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getNama() {
return nama;
}

public void setNama(String nama) {
this.nama = nama;
}

public String getAlamat() {
return alamat;
}

public void setAlamat(String alamat) {
this.alamat = alamat;
}

}[/sourcecode]

q> jalankan project menggunakan jetty
Selection_593
q> cek tabel yang terbentuk setelah project ini dijalankan
Selection_592

Alhamdulillah

 

No comments:

Post a Comment

saifiahmada.com adalah blog belajar programming Indonesia, membahas lengkap materi bahasa pemrograman: code HTML, CSS, Bootstrap, Desain, PHP, MySQL, coding Java, Query, SQL, dan dunia linux