2016년 7월 17일 일요일

Spring JDBC jdbcTemplate,마리아DB데이터SELECT예제실습 - 스프링실무교육학원

Spring JDBC jdbcTemplate,마리아DB데이터SELECT예제실습 - 스프링실무교육학원

<!--[if !supportLists]-->n  <!--[endif]-->마리아DB에서 EMP 테이블의 데이터를 Spring JDBC JdbcTemplate을 이용하여 화면에 출력하는 간단한 예제를 작성해 보자.

STS에서

File -> New  -> Project  -> Spring Legacy Project
Project name : jdbc1
Simple Pojects : Simple Spring Maven

Finish 클릭

[마리아DB 및 데이터소스 사용을 위해 pom.xml에 다음 의존성을 추가]
<dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.38</version>
           <scope>runtime</scope>
</dependency>

<dependency>
           <groupId>commons-dbcp</groupId>
           <artifactId>commons-dbcp</artifactId>
           <version>1.4</version>
</dependency>

[HeidiSQL에서 jdbc1 이라는 데이터베이스와 EMP 테이블 및 데이터를 생성하자.]

create table emp
(
           empno int(4) not null auto_increment,
           ename varchar(50),
       sal int(4),        
           primary key (empno)
) ENGINE=InnoDB;

insert into emp(ename, sal) values ('1길동', 1000);
insert into emp(ename, sal) values ('2길동', 2000);
insert into emp(ename, sal) values ('3길동', 3000);

[EmpDao.java]

package jdbc;

import java.util.List;
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;

public class EmpDao {
           private DataSource dataSource;
           private JdbcTemplate jdbcTemplate;

           public void setDataSource(DataSource dataSource) {
                     this.dataSource = dataSource;
                     this.jdbcTemplate = new JdbcTemplate(dataSource);
           }

           List getNames() {
                     String sql = "select * from emp";
                     return jdbcTemplate.queryForList(sql);
           }
}

[app-jdbc.xml]
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean id="EmpDao" class="jdbc.EmpDao">
                     <property name="dataSource">
                                <ref bean="dataSource" />
                     </property>
           </bean>

           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
                     destroy-method="close">
                     <property name="driverClassName">
                                <value>com.mysql.jdbc.Driver</value>
                     </property>
                     <property name="url">
                                <value>jdbc:mysql://localhost/jdbc1?createDatabaseIfNotExist=true</value>
                     </property>
                     <property name="username">
                                <value>root</value>
                     </property>
                     <property name="password">
                                <value>1111</value>
                     </property>
           </bean>
</beans>

 [JdbcClient.java]
package jdbc;

import org.springframework.context.support.GenericXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;

public class JdbcClient {
           public static void main(String[] args) {

                     GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
                     ctx.load("app-jdbc.xml");
                     ctx.refresh();
                    
                     EmpDao e = (EmpDao)ctx.getBean("EmpDao");
                     System.out.println(e.getNames());
                     ctx.close();                 
           }
}

댓글 없음:

댓글 쓰기