<repository>
을 통해서 위치를 지정해준다.<url>http://maven.jahia.org/maven2</url>
🎈pom.xml
<repositories>
<repository>
<id>oracle</id>
<name>oracle jdbc respository</name>
<url>http://maven.jahia.org/maven2</url>
</repository>
</repositories>
=>등록
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>12.1.0.1</version>
</dependency>
🎈Bean.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-4.2.xsd">
1) DB연결(dataSource)
=> driver, url, username, password지정(DB연결 구성요소)
<<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
</bean>
2) DB연결시켜서 가져올 수 있는 빈즈객체
public void setDs(DataSource ds){this.ds=ds;}
<<bean id="studentJDBCTemplate" class="studentdb.StudentJDBCTemplate">
<property name="ds" ref="dataSource" />
</bean>
테이블 생성
업무에 따라서 인터페이스를 이용하여 추상메서드를 선언한다.
=> 결합도가 강한 프로그램보다 결합도가 약한 프로그램을 개발하기 위함이다.
(유연한 구조를 만들어주기 위해서)
🎈StudentDAO 인터페이스
//import java.sql.*; Connection,Pre~
import javax.sql.DataSource; //DB연결할때 필요
import java.util.List; //Select할때 필요(여러개의 레코드필요)
//DB연동을 초기화 -> Student에 접속(DTO) -> insert,update,delete,select 환경설정
public interface StudentDAO { //StudentService
//1.DB연결을 시켜주는 메서드(초기화) -> DataSource객체 -> DB연동
public void setDs(DataSource ds);//getConnection()
//2.insert
public void create(Integer id,String name,Integer age);//실사용은 create(Student st)
//3.학생정보 -> pk로 검색 select * from student where id=1;
public Student getStudent(Integer id);//~(int id);
//4.학생들 전체 정보 select * from student
public List<Student> listStudents();
//5.학생정보 삭제 delete from student where id=2;
public void delete(Integer id);
//6.학생정보를 수정 -> update 테이블명 set 필드명=값,,,, where조건식
public void update(Integer id,Integer age);//실사용은 update(Student st);
}
🎈Bean.xml
<!--1.DB연결(dataSource) driver, url, username, password지정(DB연결 구성요소) -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="scott" />
<property name="password" value="tiger" />
</bean>
<!--2.DB연결시켜서 가져올 수 있는 빈즈객체
public void setDs(DataSource ds){this.ds=ds;}
-->
<bean id="studentJDBCTemplate" class="studentdb.StudentJDBCTemplate">
<property name="ds" ref="dataSource" />
</bean>
✔ 결과확인
ds => org.springframework.jdbc.datasource.DriverManagerDataSource@38af9828
setDs()호출되서 DB연결됨(ds)
st => studentdb.StudentJDBCTemplate@6b0d80ed
생성된 레코드id => 1, name => 김갑자, age => 23
생성된 레코드id => 2, name => 엄홍길, age => 45
생성된 레코드id => 3, name => 박영진, age => 34
생성된 레코드id => 4, name => 엄숙희, age => 32
생성된 레코드id => 5, name => 호날두, age => 51
전체 데이터 검색중...
mapRow() 호출됨(rowNum) => 0
mapRow() 호출됨(rowNum) => 1
mapRow() 호출됨(rowNum) => 2
mapRow() 호출됨(rowNum) => 3
mapRow() 호출됨(rowNum) => 4
id=> 1
name=> 김갑자
age=> 23
id=> 2
name=> 엄홍길
age=> 45
id=> 3
name=> 박영진
age=> 34
id=> 4
name=> 엄숙희
age=> 32
id=> 5
name=> 호날두
age=> 51
수정된 레코드 id=> 2,age=> 37
삭제시킬 Record번호는 3번
삭제된 레코드 이름(id) =>3
mapRow() 호출됨(rowNum) => 0
id=> 5
name=> 호날두
age=> 51SQL> select * from student;
ID NAME AGE ---------- -------------------- ---------- 1 김갑자 23 2 엄홍길 37 4 엄숙희 32 5 호날두 51