Dengan menggunakan Spring 3 JDBC akan sangat memudahkan kita dalam menulis code untuk proses CRUD. Dengan cara biasa untuk connect ke database, kita membuat connection, membuat statement dan meng-execute-nya, belum lagi kita harus membuat sendiri exception handling dan handling transactions dan yang terakhir kita harus menulis code untuk menutup connection, statement dan resultset. Ribet kan ya?

Nah dengan menggunakan Spring 3 JDBC, semua tugas2 di atas akan dilakukan oleh Spring 3 JDBC. Untuk dapat connect ke database, Spring menyediakan 5 pendekatan berikut :

  • JDBC Template
  • NamedParameterJDBCTemplate
  • SimpleJDBCTemplate
  • SimpleJDBCInsert and SimpleJDBCCall
  • RDBMS Objects

Di antara kelima pendekatan tersebut, yang paling banyak digunakan adalah JDBC Template. Oleh karena itu saya akan memberikan contoh bagaimana connect ke database menggunakan Spring Jdbc Template. Langsung saja buat sebuah application-context.xml seperti ini

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-3.0.xsd">

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://localhost/spring"/>
<property name="username" value="postgres"/>
<property name="password" value="maniakjava"/>
</bean>

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>

</beans> 

Lalu kita tinggal membuat sebuah class Main seperti ini

package com.maniakjava.main;

import java.util.Map;
import javax.sql.DataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;

public class Main
{
    public static void main(String args[]) throws Exception
    {
        ApplicationContext context = new ClassPathXmlApplicationContext
                ("/com/maniakjava/config/application-context.xml");

        DataSource dataSource = (DataSource) context.getBean("dataSource");
        JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

        Map map = null;
        map = jdbcTemplate.queryForMap
                ("select * " +
                " from member where memberid = ?",
                    "test");

        System.out.println("MemberId : " + map.get("memberid"));
        System.out.println("Nama : " + map.get("name"));
    }
}

Kemudian tinggal jalankan class Main tersebut deh. Outputnya akan menjadi :

MemberId : test
Nama : testing

Comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s