본문 바로가기
개발자로 가는 길(국비지원과정)/4.Spring+ Ajax

[210701목] 스프링과 DB연동

by 레아Leah 2021. 7. 1.
반응형

root-content : DB 연결을 위한

 

 

 

[DB 연동을 위해 해야하는 작업]

 

 

1) Dependency 추가 : 5개 

2) 한글 필터 설정 : web.xml에서 설정!

 

 

3) db properties을 src/main/resources 

4) mybatis

5)

 

 

root-content

더보기

<!-- db.properties 읽어오기 -->
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:db.properties</value>
</property>
</bean>

<!-- db.properties의 설정 값을 읽어서 setting -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${user}" />
<property name="password" value="${password}" />
</bean>

<!-- 트랙잭션 관리를 위한 빈설정 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>

<!-- sqlSessionTemplete -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>

<!-- sqlSession -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" name="sqlSessionFactory"
ref="sqlSessionFactory" />
</bean>

 

 

**테이블 생성 (guestbook.sql)

sequence 번호 : guestbooknum pk number

이름 :  writer nn varchar

비밀번호 : password nn varchar

글 내용: text nn varchar 

글 작성날짜 : regdate default sysdate 

 

 

SQL 쿼리문

더보기

DROP TABLE guestbook; 
DROP SEQUENCE guestbook_seq; 


--글 저장을 위한 테이블 
CREATE TABLE guestbook 
(
  guestbooknum number primary key,     -- 글 번호 
  writer varchar2(20) not null,                -- 작성자
  pwd varchar2(20) not null,                  -- 삭제 시 사용될 비번
  text varchar2(2000) not null,                -- 글 내용  
  regdate date default sysdate               -- 글 작성 날짜
);

--글 일련번호에서 사용할 시퀀스 
CREATE  SEQUENCE guestbook_seq; 
 
--글 저장 예 
INSERT INTO guestbook 
(guestbooknum, writer, password, text)
values
(guestbook_seq.nextval, '홍길동', '1111', '글 내용입니다.');

 

오라클이 실행되는지부터 확인 

 

[2교시]

테이블 생성 후 VO클래스 생성 

 

**Guestbook.java VO 

 

@Data 

public class Guestbook{

 

}

 

 

**GuestbookMapper.java Interface 

public int insert(Guestbook guestbook);
public List<Guestbook> select(); 
public int delete(Guestbook guestbook); 

 

 

 

이름 변경

가 나와야함 

 

 

 

글쓰는 화면을 요청

 

 

아래와 같이 떠야한다.

오류떠서 수정함 

 

 

required= "required"

데이터를 입력하지 않았을때 입력하라고 뜸 

 

아래와 같이 한글이 깨져서 나오면 안된다. 

new는 강결합이기 때문에 권장하지 않는다. 

컨트롤러에서 다오로 간다고 하면 강결합을 하지 않고 스프링에서 생성해 던져주는, 또 던져달라고 요청한다. 

 

스프링에서는 new를 사용하지 않고(강결합no), @Autowired 사용 

IoC:  제어의 역행, 남이 만들것을 쓴다. 좋은 점은 약결합 

@Autowired

 

DI(Dependency Injection) 

 

수정해주기 

반응형