게시판 만들기 (파일 업로드) / 준비단계
순서
▶ pom.xml >> web.xml >> 자바파일 >> Mapeer >> root-context.xml >> DB 만들기
pom.xml
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
<!-- SPRING JDBC 필요 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-spec</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.apache.taglibs</groupId>
<artifactId>taglibs-standard-impl</artifactId>
<version>1.2.5</version>
</dependency>
<!-- 파일업로드 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3</version>
</dependency>
▶ 라이브러리 추가해야함 >> Maven Dependencies 에 생성됨
▶ mybatis
>> DB를 좀 더 유연하게 사용하기 위해
>> 원래는 DAO에 쿼리문 다쓰는데 sql 문장들 따로 관리할려고
>> root-context에 빈 만들어 놓음
>> mybatis-config.xml / BoradMapper.xml
web.xml
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!-- 한글인코딩 -->
<filter>
<filter-name>charEncoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>charEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
▶ servlet-mapping 수정
▶ 한글인코딩 추가하기
자바 파일
▶ controller 패키지
>> BoardController.java
▶ dao 패키지
>> BoardDAO.java >> 인터페이스
>> BoardDAOImpl.java >> BoardDAO 상속받아옴
▶ service 패키지
>> BoardService.java >> 인터페이스
>> BoardServiceImpl.java >> BoardService 상속받음
▶ domain 패키지
>> BoardVO.java
▶ DAO
▶ Service
▶ BoardVO
>> 이 외에 각 변수 getter / setter 있음
▶ setter / getter 있어야 자동으로 담겨지고 자동으로 데이터 가져올 수 있음
Mapper
▶ BoardMapper
>> sql 쿼리문 작성
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="BoardDAO">
<!-- 쿼리문 작성할 공간 -->
</mapper>
▶ mybatis-comfig.xml
>> type = " 클래스의 패키지 주소 "
>> alias=" 별칭 "
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias type="com.human.java.domain.BoardVO" alias="board"/>
</typeAliases>
</configuration>
root-context.xml
▶ servlet에 관련된 설정은 servlet-context.xml에 servlet 외에 설정에 관련된 내용은 root-context에 적음
▶ 자동으로 만들어지는 빈 말고 내가 사용하는 빈을 여기다가 세팅
>> 1. DB 연결
>> 2. dataSource
>> 2-1. DB연결
>> 2-2 mabatis-config >> 별칭
>> 2-3 BoardMapper >> sql 문장들
>> 3. sqlSessionTemplate
>> 위에거를 다 가지고 있는 개체를 최종적으로 하나 만든거임
>> mabatis 쿼리문을 수행해주는 역할을 함
>> DB를 연결하기 위한 모든 객체를 가지고 있는 빈
>> root-context.xml은 그냥 외워야함 // 사전처럼 사용
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl"/>
<property name="username" value="아이디"/>
<property name="password" value="비밀번호"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:/mybatis-config.xml"/>
<property name="mapperLocations" value="classpath*:mappers/**/*Mapper.xml"/>
</bean>
<!-- DB를 연결하기 위한 모든 객체를 가지고 있는 빈 -->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/>
</bean>
DB 만들기
CREATE TABLE upLoadtemp(
b_id number(5) primary key, -- 글번호
b_name varchar2(20),-- 글쓴이
b_email varchar2(50),-- 글쓴이 메일 주소
b_title varchar2(80),-- 글 제목
b_content varchar2(3000),-- 글 내용
b_pwd varchar2(12),-- 비밀번호
b_date date,-- 글쓴날짜
b_count number(5) default 0,-- 조회횟수
b_ip varchar2(15),-- 글쓴이 아이피주소
b_fname varchar2(100), --파일이름
b_fsize number --파일용량
);
-- 2. 시퀀스 생성
CREATE SEQUENCE uploadtemp_bid_seq NOCACHE;
commit;
index.jsp
▶ 실행할 메인 파일임
'Programming > Java + Spring' 카테고리의 다른 글
[Spring] 로그인 실습 / 준비 단계 (0) | 2022.10.01 |
---|---|
[Spring] 게시판 실습1 / 게시글 검색 (0) | 2022.09.28 |
[Spring] 게시판 만들기 / 글 수정, 글 삭제 (0) | 2022.09.28 |
[Spring] 게시판 만들기 / 글 보기 (0) | 2022.09.27 |
[Spring] 게시판 만들기 / 글 작성 (0) | 2022.09.27 |
댓글