development♥/부트스트랩이용해서 홈페이지 만들기

홈페이지 만들기 제작 (1) 기본설정 및 프로젝트생성

리니❤ 2022. 9. 15. 09:00
반응형

 

1. oracle11버전, sql developer 다운로드 및 db생성

 

(1) oracle11버전 다운로드 및 sql developer 설치 (구글 검색)

 

(2) cmd창 이용해서 계정생성하기

(오라클 설치때 만든 root 계정은 system)

지금은 root 계정이 아닌 새로운프로젝트에 쓸 새로운 계정을 만들기

 

* 나같은 경우는 dsme 라는 새로운 계정을 만듬

(cmd창을 이용해서 계정생성하는건 구글링 해보기 )

 

(3)db생성하기 (dbeaver 사용)

 

원래는 아래처럼 해야하는데 안되서 다른방식으로 함

 

 

왼쪽위 코드 - host - port - database - username - password -->test connection

원래 이렇게 연결을 했는데

연결이 안되서

 

 

DataBase를 SID로 변경하고 거기에 있는 XE로 하고나서

test connection하니까 연결이 됨

 

                                                                                                        XE로 변경할경우 DB연결코드도 변경해줘야함

                                                                                                        원래 orcl인데 아래 ↓ XE로 

 

 

 

 

2. 이클립스 프로젝트 만들기

 

마우스 오른쪽버튼 > new >spring legacy project

 

 

project name 작성 --> spring mVC project 클릭

 

 

나중에 홈페이지사이트 이름?으로 쓰이는 부분인데 별로 상관은없음

아무렇게나 비슷하게 만들기

 

 

 

 

 

 

 

아래는 spring mVC project 로 프로젝트 생성시 자동으로 생성되는 파일들 구조

 

 

 

 

3. 기본 설정파일들 작성 pom.xml , root-context.xml  ,  mybatis-config.xml

 

 

1) pom.xml 파일 이란?

★쓸수있는 기능을 다운받는거라고 생각하기

pom.xml은 project object model의 줄임말로 프로젝트에 필요한 모든 라이브러리를 관리함. :)

maven저장소에서 라이브러리들을 <dependency></dependency>xml 태그 형태를 사용해 추가할 수 있음.

*maven저장소 설명 뒤에나옴

 

 

 

pom.xml을 작성할때는

 

내가 필요한기능이

mariadb인지

스프링jdbc가 필요한지

mybatis

mysql

oracle설정 등 무엇을 사용할지 생각해보기

 

★★★pom.xml파일에 기본적으로 넣어주는기능(6가지)★★★
(1) MyBatis Spring (연결 - 역할)
(2) MyBatis             (실행 - 역할) (mybatis 라이브러리 )
(3) spring jdbc         (연결 - 역할)★ jdbc연결해주는애
(4) jdbc드라이버      (실행 - 역할) --- (나는 오라클을 사용했기 때문에 ojdbc를 넣어줌
    -->ojdbc8 (오라클 JDBC 드라이버) - ★spring jdbc가 보내준걸 실행하는애
(5) mysql
(6) spring test(테스트 할 경우 필요함, test 하단에 추가해주기)

 

 

 

2) root-context.xml 파일이란?

 ★ pom.xml에서 기능을 다운했으니까 이제 기능쓸수있게 연결시켜주는걸 여기서함

(namespace클릭하면 알아서 나와서 체크만 하면됨)

파일경로: src-main-webapp-WEB-INF-spring-root-context.xml

* bean이나 다운받은 기능들 등등 연결

 

 

3)테스트 3가지 해보기(생략하는경우도 있음)

테스트파일 만드는곳

파일경로 : src-test-java-com-ds-ym에서 아래 3가지 테스트하기

(1) database - DB와 다이렉트 연결(DB있는지 확인만)

(2) datasource - 빈을 통해서 연결

(3) Mybatis - 마이바티스 통해서 연결

 

 

 

 

 

 

 

 


 

pom.xml 상세 작성법

 

메이븐저장소에서 코드받아와서 pom파일에 사용할 코드를 작성해야함

(1) 구글에 메이븐 저장소 검색

https://mvnrepository.com/

 

 

메이븐 저장소에 들어가서

내가 페이지만들면서 필요한것들은 여기서 찾아서 pom에 추가해서 사용

 

기본적으로 넣어줘야하는 6가지 중에서 mybatis spring을 찾아보겠음

 MyBatis Spring 
 MyBatis            
 spring jdbc         
 jdbc드라이버     
 mysql


 spring test(junit으로 테스트 할 경우 필요함)

 

 

 

 

 

(2) 메이븐 저장소에서 mybtis spring 검색 

 

 **만약 검색했는데 여러개가 뜨거나 뭐를 클릭해야할지 모르겠다면 구글해봐야함

나같은경우는 오라클을 어떤걸 넣어야할지 모르겠어서 사람들이 많이쓰는거 구글링함

**pom에 넣을 기능들 찾는방법

메이븐 저장소에서 

뭘 넣어야할지 모를때는

구글에 검색해보기

예.오라클 pom.xml

 

 

 

 

 (3) 버전별로 다른데 제일위가 최신버전임 클릭

 

 

 (4) spring framwork는 maven 빌드툴을 기반으로 하기때문에 maven코드를 복사하기

만약 메이븐(maven) 빌드툴이 아니라 그레이들(gradle) 빌드툴을 사용한다면 gradle에 있는 코드를 복사하면 됨

메이븐저장소-->mybatis spring-->maven방식(pom파일에서 코드사용),

                                                 -->gradle방식(service?파일에서 코드사용), 등

내가 사용하는방식에 맞는걸 찾아서 하면됨. 보통 스프링은 메이븐써서 pom.xml에  설정함

 

 

 

 

 

 

 

 (5) 복사한 코드를 pom.xml 파일 <dependencies>   </dependencies> 태그 안에 넣어주기 

추가한 기능들을 알아보기쉽게 주석으로 표시해두면 좋음

 

pom.xml에 코드를 적는이유?
복사한 메이븐 코드를 pom.xml에 저장하면 pom.xml 에서 이정보를 가지고 jar파일을 다운받음
다운받아졌는지 확인하는 방법 2가지
1.root-context.xml파일 namespace부분에가면 다운받아진 라이브러리들이 보임
2. 프로젝트 우클릭 > properties > java build path> libraries > Maven Dependencies 가면 다운된것들 볼 수 있음

 

혹시 pom.xml에 코드를 넣었는데 안들어가는경우 해결방법 -->다운받아서 라이브러리에 직접 넣어주기 

◆ 만약에 내가 사용하는방식이 뭔지모를때는 그냥 jar파일 다운받아서 Library에 넣어주면 되는데

*넣는방법

project선택-->마우스우클릭-->property-->java build path -->libraries-->Add External Jars 클릭해서 jar파일 넣어주기

 

 

 

 

pom.xml파일 작성완료 해보기 

기본기능들 넣음 

 

 

 

 

 

기존 만들어진 파일에 있던 junit버전 수정한 코드가 아래파일임

--------------------------------------------------------------------------------------------------------------------------------------------------------------

<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>

<!-- junit이랑 spring이랑 연결해주는 기능       https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>${org.springframework-version}</version>
    <scope>test</scope>
</dependency>

<!-- 추가 기능들 -->

<!-- Mybtis                                       https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.10</version>
</dependency>

<!-- Mybatis - Spring                  https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.7</version>
</dependency>

<!-- Spring jdbc           https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.22</version>
</dependency>

<!-- oracle                   https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc8 -->

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.7.0.0</version>
</dependency>
<!-- 이렇게 작성하면 lib에 다운이되는데 ojdbc6같은 경우는 다운이 안됨 그럼 jar를 다운받아서 path에 추가하거나 repository를 사용해서 다운하기  -->

<!-- my sql                 https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.30</version>
</dependency>

--------------------------------------------------------------------------------------------------------------------------------------------------------------

 

위에서 junit버전 수정하면 + springframwork 버전도 수정해줘야함 (4.3.14로 수정한거임) 

 junit버전과 springframwork 버전 변경 이유 아래 글 참고하기

https://yummiyummy.tistory.com/73?category=1085419 

 

 

 

 

 기본기능 간단한 설명

(1) MyBatis Spring (연결 - 역할)
(2) MyBatis             (실행 - 역할) (mybatis 라이브러리 )
(3) spring jdbc         (연결 - 역할)★ jdbc연결해주는애
(4) jdbc드라이버      (실행 - 역할) --- (나는 오라클을 사용했기 때문에 ojdbc를 넣어줌
    -->ojdbc8 (오라클 JDBC 드라이버) - ★spring jdbc가 보내준걸 실행하는애
(5) mysql
(6) spring test(테스트 할 경우 필요함, test 하단에 추가해주기)

 

 

mybatis란?

sql 매핑 프레임워크

jdbc 코드의 복잡하고 지루한 작업 단축가능

 

mybatis와 mybatis-spring을 사용하기위해 pom.xml파일에 추가적인 라이브버리 설정해야함

라이브러리 추가 목록

1. mybatis : mybaits 라이브러리

2. mybatis-spring : mybatis와 spring연동 라이브러리

3. spring-jdbc: spring에서 database처리 라이브러리

 

Spring

Mybatis-spring <-----> Mybatis <----> db

 

ojdbc8 란?

프로젝트 jdbc연결

(오라클은 pom.xml에 등록해도 저작권?문제 때문에 자동으로 다운이 안되기 때문에 lib폴더를 만들어서 ojdbc8.jar를 넣어서 java build path에 등록을 해줘야함) 

 

하지만 아래 ojdbc8을 pom파일에 작성해보니 lib에 다운이 되서 따로 등록을 안해줘도 됐음

 

<dependency>

<groupId>com.oracle.database.jdbc</groupId>

<artifactId>ojdbc8</artifactId>

<version>21.7.0.0</version>

</dependency>

이렇게 작성하면 project-properties-java build path - libraries - maven dependencies 하단에 다운로드가 됨

만약 안될경우 jar를 다운받아서 add external Jars에 추가하거나 아니면 <repository>태그로 추가하기

 

 

 

5개가 꼭 필요한 라이브러리라서 넣어주기

- mybatis

- mybatis spring

-spring jdbc

-ojdbc

-my sql

 

 

추가로 junit통해서 test할 경우

junit과 junit과 spring을 연결해주는 코드도 있어야함

 

+++참고할것+++

<version>${org.springframework-version}</version>
이렇게 되어있는경우는 가장 최신버전 받아주는뜻

 

 

 

root-context.xml 작성 방법

 

 (1) namespace에서 체크하기

1. beans

2. context

3. jdbc

4. mybatis-spring

 

 

 

 

 
 

(2) root-context.xml  bean 설정해주기

 

 

 

위에 3가지를 기본으로 작성하는데

 

usrname이랑 password변경해주고

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<property name="dataSource" ref="dataSource" />

<property name="configLocation" value="classpath:/mybatis-config.xml"/> ★mybatis-config.xml 파일만들어주기

<property name="mapperLoations" value="classpath:/mappers/**/*.xml"/> ★/mappers/**/*.xml 등 원하는 경로 잡아주기

</bean>

 

mybatis-config.xml 파일만들어주기

이 부분에서 resources경로에서 ★mybatis-config.xml 파일 만들어주기 (자동생성되지 않음)

(왜 /부분이 resources에서 시작하는 경로인가? /는 servlet-context.xml에서 기본경로 resources로 잡혀있는거 알 수 있음)

xml파일 만드는법

resource - 마우스 오른쪽버튼 - new - other

 

 

file name 을 mybatis-config.xml로 작성하고 finish 버튼 클릭하기

 

 

 

 

 

mybatis-config.xml 파일생성후 비워두면안되고 아래 코드를 꼭 넣어줘야함 

mybatis-config.xml 파일에 꼭 넣어줘야하는 코드 

----------------------------------------------------------

<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

</configuration>

-----------------------------------------------------------
 

 

 

 

 

 

 

/mappers/**/*.xml 등 원하는 경로 잡아주기

classpath:/mappers/**/*.xml 이 부분은

원래 /*mappers/*.xml 이거였는데

resources경로에 mapper폴더에 모든 xml파일을 잡는데 그안에 폴더들이 많은 경우가 많아서 아래처럼 작성해주기

★/mappers/**/*.xml 이렇게 잡으면 (경로 새로 잡아주기)

resources경로에 mapper폴더에 어떤폴더들에 어떤이름의.xml을 찾는거임

 

--->> mappers 폴더 만들기 (파일 경로:src - main - resources - mappers) > 아무폴더 만들기 > .xml 파일 만들기> 그안에 코드 작성해야함 

.xml 파일에 넣어줘야하는 코드 

 ---------------------------------------------------------------------------

<?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="com.ds.ym.search">

</mapper>

 ---------------------------------------------------------------------------

com.ds.ym.search --> 이부분은 자기폴더이름에 맞게 수정하기 

 

 

 

 

root-context.xml 기본코드 (빨간부분은 본인에 맞게 수정 및 파일 생성)

--------------------------------------------------------------------------------------------------------------------------------------------------

<!-- DB Connection -->
<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:XE" />
<property name="username" value="dsme" />
<property name="password" value="dsme" />
</bean>

<!-- MyBatis Connection -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis-config.xml"></property> <!-- mybatis-config.xml 파일 만들어주기 (자동생성되지 않음) -->
<property name="mapperLocations" value="classpath:/mappers/**/*.xml"></property> <!--resources에 mappers 폴더 만들어주기  -->
</bean>

    <!-- 3. SqlSessionTeplate DB연결&종료-->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
</bean>

--------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

***추가 참고할 사항***

 

빨간부분은 자신의 db에 따라서 달라질 수 있음

 

 

Host-Port-DataBase 이름 순서로 적혀져있는건데

---------DB연결 때 아래처럼 연결해서 database이름이 xe가 됨 ----------

 

왼쪽위 코드 - host - port - database - username - password -->test connection

원래 이렇게 연결을 했는데

연결이 안되서

 

 

DataBase를 SID로 변경하고 거기에 있는 XE로 하고나서

test connection하니까 연결이 됨

 

그래서 @localhost:1521:XE 가 된거임

이건 각자 자기꺼에 따라서 다를듯

 

 

 

 

test파일 3개 만들어주기

테스트파일 아래 사용하기

DataSourceTest.java
0.00MB

 

DBTest.java
0.00MB

 

MybatisTest.java
0.00MB

 

 

 

Test 파일3개 생성후 오류

 

 

오류1. package 경로설정

저부분이 오류날 경우

왼쪽 빨간색 체크부분 순서에 맞춰서 작성하기

 

 

 

오류2. junit오류

3개의 파일 생성후

하단에 빨간부분쪽에 오류가 날 경우

 

junit부분에 오류가 나면

 

pom.xml에 spring-test에 version 부분 변경해주기

 

 

<version>${org.springframework-version}</version>로 변경해주고

 

저장후

 

 

프로젝트에서 오른쪽마우스클릭--> Maven --> update project해주기

 

오류3. 자바 버전 오류

Resource sprcification not allowed here for source level below 1.7

자바 버전 오류

 

이런경우는 change project compliance and JRE to 1.7 클릭하면 됨

 

 

 

junit test 방법

DataSourceTest

DBTest

MybatisTest

 

----- 각 파일을 열고 화면에서 마우스 우측 클릭 > runas > 2. junit test

 

----> 그리고 서버를 다시 실행하려면 junit 서버 끄고 실행하기 

 

 

 

 

반응형