웹 개발을 하는 사람이라면 웹 개발에 절대 빠질수 없는 데이터베이스 연결에 대한 이야기이다. 이 Mybatis 연동은 개발의 사전준비라고 생각하면 된다.


1. Mybatus 란?




친절히 홈페이지에 설명 되있는 건데 쉽게 설명해서

기존에 JDBC를 이용하여 프로그래밍을 하는 방식에 비해서 MyBatis는 개발자의 부담을 굉장히 많이 덜어주고, 생산성 향상에도 도움이 된다.

기존에 JDBC를 이용하여 프로그래밍을 하는 방식은 프로그램 소스안에 SQL문을 작성하는 방식이었다.


2. Mybatis 라이브러리


스프링에서 MyBatis를 사용하려면 라이브러리가 필요하다. 

우리는 이미 Maven을 이용하여 라이브러리를 관리하기 때문에, 라이브러리의 추가가 굉장히 쉽다.

pom.xml에 다음을 추가한다. 



여기까지가 공통으로 들어가는 라이브러리고 사용하는 DB에 따라서 추가할 라이브러리가 약간 다르다.


1) MySQL 사용할 경우



이 코드만 추가 해주면 된다.


2) Oracle 사용할 경우

오라클의 경우 손이 더간다. 솔직히 말하면 나같은 초보자는 훨씬 더 간다!

그렇다고 오라클을 비추 하진 않는다 오히려 추천 한다.

ojdbc.jar 파일을 검색할 경우 다음과 같이 dependency가 나오는데 실제로는 다운 받을 수 없다 ㅠㅠ. (막히는 분들이 많을텐데)



이 부분을 이렇게 바꿔준다.


 

하지만 이렇게 바꾼다 해도 에러가 계속 뜰텐데 ;;

상단의 <properties> 부분에 다음과 같은 코드를 추가한다.



에러를 일으키는 ojdbc를 다운 받을 수 있는 Repository를 수동으로 등록한다.


3. Mybatis와 DB(데이터베이스) 연결 설정


Mybatis와 DB를 연결하는 방법을 살펴보자.


1) src/java/resource 폴더 밑에 config > spring 폴더를 만든다.


2) spring 폴더 안에 context-datasource.xml 파일을 만든다.



위와 같은 구조로 만들어준다.


3) web.xml에서 위의 설정파일을 읽도록 되어있는지 확인한다.

web.xml의 하단에 다음의 코드가 있어야한다.




이는 최초 서버가 시작될 때, 해당 위치에 있는 context 파일을 모조리 읽어들이는 것을 뜻한다. 

xml 태그에서 알 수 있듯이, contextConfigLocation을 설정하고, 그 위치는

위에서 만들었던 config > spring 폴더에 있는 context-로 시작하는 모든 xml 파일을 의미한다. 

앞으로 스프링 관련 여러가지 설정파일이 있기 때문에, 위와같이 설정파일을 읽어올 수 있도록 하였다.

 

 

4) Mybatis 연결 설정을 하자.

4-1) MySQL 의 경우 - context-datasource.xml

 

 <?xml version="1.0" encoding="UTF-8"?>

     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://주소/스키마"/>
        <property name="username" value="아이디"/>
        <property name="password" value="비밀번호"/>
    </bean>
</beans>

 

별달리 여려운 설정은 없을것이라고 생각한다.

url에서 MySQL이 설치된 서버의 주소와 사용할 DB 스키마를 적어주면 된다. (개인PC에서 개발할 경우 localhost/스키마 또는 127.0.0.1/스키마 로 적어주면 된다.)

 

 

오라클의 경우도 별다를건 없다. MySQL과 다른거는 dataSource의 class와 url이 다르다. 그 점을 자세히 보길 바란다. 


<?xml version="1.0" encoding="UTF-8"?>
     
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@localhost:1521:XE"/>
        <property name="username" value="아이디"/>
        <property name="password" value="비밀번호"/>
    </bean>
</beans>

(오라클의 경우 보통 Oracle 10g XE 또는 Oracle 11g XE 를 깔아서 연습하기때문에, 그에 맞춰서 소스를 썼다. 실제 오라클 엔터프라이즈의 경우 localhost 대신 IP 주소, XE 대신 사용하는 DB 스키마를 적어준다.)


 

4. MyBatis와 Spring의 연결

1) resource 폴더에 mapper 폴더를 생성한다.


2) resource > config > spring 폴더에 context-mapper.xml 파일을 생성한다.


3) context-mapper.xml 파일에 다음의 내용을 작성한다.


<?xml version="1.0" encoding="UTF-8"?>
 
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="mapperLocations" value="classpath:/mapper/**/*_SQL.xml" />
    </bean>
     
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSession"/>
    </bean
</beans>


몇가지 살펴보자.

6번째 줄의 property의 name과 ref가 dataSource로 정의되어있다. 

이 두가지는 같은것을 의미하지 않는다. name은 위에서 등록한 sqlSession 빈(bean)에서 사용할 이름이 dataSource이고, ref의 dataSource는 우리가 context-datasource.xml에서 정의한 빈(bean)을 참조하는 것을 의미한다. 


7번째 줄의 mapperLocations는 앞으로 우리가 작성할 SQL문이 위치할 장소이다. 여기서 classpath:/mapper/**/*_SQL.xml 이라는 정의를 살펴보자. 


앞에서 web.xml에서 spring context 설정파일을 읽어오기 위해서 classpath*:config/spring/context-*.xml 라고 정의했던것을 기억하자.


앞으로 우리는 다양한 SQL 파일을 만들것인데, 그것을 일일이 등록해서 사용할 수는 없다. (원래는 xml 파일에 XML도 bean으로 설정해야한다.) 그렇지만 다양한 사람들이 작업하는 프로젝트의 특성상, 그것을 일일이 등록할 수 없고, 할 수 있더라도 귀찮은 일이다. 따라서 서버가 시작될 때 자동으로 SQL이 정의되어 있는 XML 파일도 읽어오도록 하는것이 필요하다. 

따라서 SQL이 위치할 mapper 폴더를 잡아주고, 그 안에 모든 폴더를 의미하는 **를 붙여준 후, 마지막으로 _SQL로 끝나는 모든 xml 파일을 읽어주도록 한다. 

여기서 중간에 ** 를 붙인 이유는, 유연한 폴더구조의 변경을 위해서 이렇게 작성했다. 예를 들어 mapper > first > *_SQL.xml 와 mapper > first > second > *_SQL.xml 은 다른 경로이다. (mapper 폴더 밑에 first, second 라는 이름의 폴더가 있는 경우를 의미)

우리는 앞으로 게시판에 관련된 쿼리만 작성하겠지만, 실제 프로젝트에서는 굉장히 많은 패키지가 생성되기 때문에 2,3단계로 구분된다. 그것을 유연성있게 대처하도록 해줬다. 


마지막으로 10번째 줄의 sqlSessionTemplate은 마이바티스 스프링 연동모듈의 핵심이다. SQLSessionTemplate은 SqlSession을 구현하고, 코드에서 SqlSessoin을 대체하는 역할을 한다. 실제 코드에서 어떻게 사용하는지를 나중에 보면서 다시 이야기해보자.


5. DAO 작성


마지막으로 실제 소스에서 위에서 선언한 SqlSessionTemplate을 사용할 DAO를 만들어주자.

DAO는 Data Access Object의 약자로, Data Access Object를 Factory 패턴화 시키는 것으로, 비즈니스 로직을 모듈화 하는 방법이다. Factory 패턴이 무엇인지 잘 모르면, 디자인 패턴에 대해서 공부하면 좋다. 여기서는 디자인 패턴에 대한 설명은 생략하고 어떻게 사용하는지만 보도록 하겠다. 


1) src/main/java 폴더의 first > common 패키지 밑에 dao 패키지를 생성한다.


2) dao 패키지 안에 AbstractDAO.java를 생성한다.



3) AbstractDAO에 다음 소스를 작성한다.


public class AbstractDAO {
    protected Log log = LogFactory.getLog(AbstractDAO.class);
     
    @Autowired
    private SqlSessionTemplate sqlSession;
     
    protected void printQueryId(String queryId) {
        if(log.isDebugEnabled()){
            log.debug("\t QueryId  \t:  " + queryId);
        }
    }
     
    public Object insert(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.insert(queryId, params);
    }
     
    public Object update(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.update(queryId, params);
    }
     
    public Object delete(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.delete(queryId, params);
    }
     
    public Object selectOne(String queryId){
        printQueryId(queryId);
        return sqlSession.selectOne(queryId);
    }
     
    public Object selectOne(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.selectOne(queryId, params);
    }
     
    @SuppressWarnings("rawtypes")
    public List selectList(String queryId){
        printQueryId(queryId);
        return sqlSession.selectList(queryId);
    }
     
    @SuppressWarnings("rawtypes")
    public List selectList(String queryId, Object params){
        printQueryId(queryId);
        return sqlSession.selectList(queryId,params);
    }
}


간단히 살펴보자. 

우리가 앞에서 SqlSessionTemplate을 설정하였고, 이는 SqlSession을 대체한다고 이야기 했었다.

5번째 줄에 SqlSessionTemplate을 선언하고 여기에 Autowired 어노테이션(Annotation)을 통해서 xml에 선언했던 의존관계를 자동으로 주입하도록 하였다. 


쿼리는 sqlSession.메서드를 호출하면 되는데, 여기서는 앞으로 개발할때, 좀 더 보기편하게 로그를 남기기위해서 AbstractDAO를 만들어서 insert, delete, update, select 메서드를 재정의 하였다. 


실제 개발에서는 각 비즈니스 로직을 담당할 DAO를 생성하여 AbstractDAO를 상속받도록 할 계획이다. 

앞으로 개발하면서 차차 보게될 것이다. 


여기까지 작성하고 서버를 실행시켜서 에러가 나지 않으면, 설정에 문제가 없는것으로 판단할 수 있다. 


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


여기까지가 Mybatis 설정이 완료 되었습니다.

글이 많이 길어졌네요 ! 그래도 개발에 있어서 꼭 필요한 부분이니깐 잘 읽어보고 이해 하시는걸 추천해드려요!

블로그 이미지

시니M

시니의 자바 공부

,

지난 글까지는 스프링을 개발하는데 필요한 개발 환경을 설치하였다.

이번 글부터는 스프링 프로젝트를 생성하고, 스프링 기능을 하나씩 추가해서 

하나의 프로젝트를 생성하는것을 목표로 한다.


간단히 스프링 프레임워크를 살펴보겠습니다. 

 

1. 스프링은 POJO (Plain Old Java Object) 방식의 프레임워크로서, 일반적인 J2EE 프레임워크에 비해 특정 라이브러리를 사용할 필요가 없어서 개발이 쉬우며, 기존 라이브러리의 지원이 용이합니다.


2. 스프링은 관점지향프로그래밍, AOP(Aspect Oriented Programming)를 지원합니다. 트랜잭션, 로깅, 보안 등 여러 모듈, 여러 계층에서 적용되는데, 이런 코드들을 실제 비지니스 로직과 분리할 수 있도록 도와줍니다. 한때, AOP가 OOP(Object Oriented Programming)를 대체하는 기술로 생각되기도 했지만, 실제로 AOP는 OOP를 더욱 OOP스럽게 보완해 주는 기술입니다.


3. 스프링은 의존성 주입, DI (Dependency Injection)를 지원합니다. 이는 객체간의 의존관계를 관리하는 기술이라고 생각하면 됩니다. 어떤 객체가 필요로 하는 객체를 자기 자신이 직접 생성하는것이 아니라, 외부에 있는 다른곳에서 자신이 필요로 하는 객체를 주입받는것을 말합니다.


4. 스프링은 제어 반전, IoC (Inversion of Controller)를 지원합니다. 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있음을 말합니다. 즉, 객체의 생성부터 모든 생명주기의 관리까지 객체의 제어권이 바뀐것을 의미합니다.


스프링의 가장 큰 특징은 AOP, POJO, DI, PSA (Portable Service Abstraction) 를 꼽을 수 있습니다. 이에 대한 자세한 설명은 지금 여기서 이야기해도 쉽게 이해하기가 힘들고, 실제 프로젝트를 진행하면서 경험을 해봐야 "이게 무엇이구나~" 라고 이해하기 쉽습니다. 위에 나온 개념들이 실제 프로젝트에서는 어떻게 적용될 수 있는지도 추후 하나씩 설명하도록 하겠습니다.


1. 스프링 프로젝트 생성

1. File > New > Other 를 선택한다.

2. Spring > Spring Legacy > spring mvc project를 선택한다.


2. 프로젝트 명을 적고 Next 클리크!

  필자 같은 경우는 test 로 설정!


3. Package 를 입력한다

최소 3레벨 이상 ([1레벨],[2레벨],[3레벨])로 구성 하게끔 되어있다.

 이는 자바 코딩 규칙을 찾아보면 알수 있다.

 여기서는 com.company.test 로 작성


4. Finish를 누르면 프로젝트가 생성이 되고, 인터넷에서 스프링 프로젝트에 필요한 라이브러리를 자동으로 다운받기 시작한다.

 



5. 다운로드가 완료된 것을 확인하고, 생성된 프로젝트에 에러가 없는것을 확인한다.

mycompany.myapp 는 지워도 무방하다.

 


이와같은 프로젝트가 생성된다. 

본인은 Package Explorer에서 개발을 하는데, 사람에 따라서는 Project Explorer가 더 편하다고 이야기 하는 사람도 많다. 자신이 개발하면서 편한 View를 보며 진행하면 된다. 이 글에서는 앞으로 계속 Package Explorer에서 보이는 것을 기준으로 설명한다.


※ 만약 Package Explorer가 보이지 않는다면, 

1) Window > Open View > Other를 선택한다.

2) Package Explorer를 검색하여 추가한다.


※ 처음에는 왜 이렇게 많은 폴더가 생겼으며, 이러한 폴더들은 어떠한 역할을 하는지 한눈에 파악하기가 힘들다. 이 폴더 구조는 다음 글에서부터 전체적인 구조와 각 폴더의 역할을 설명한다.


1.1 Maven Dependencies

앞에서, Maven이 자동적으로 필요한 라이브러리를 받아온다고 했는데, 그 받아온 라이브러리들은 Maven Dependencies라는 곳에서 확인할 수 있다.



이 프로젝트를 진행하며 필요한 라이브러리들이 다운받아진 것을 알 수 있다. 

그러면, 이 라이브러리들은 어디에 저장되어있는가? 라는 질문이 있을 수 있다.

그에 대한 답은 예전에 우리가 개발환경을 설정하면서 Maven의 LocalRepository를 변경한 것을 기억한다면, 찾을 수 있을것이다. 

예전에 우리는 C\Dev\apache-maven-3.3.9 밑에 repository라는 폴더를 만들고, LocalRepository를 변경하였었다. 그 폴더로 들어가보자. 



그러면 다음과 같이 몇몇 폴더가 생긴것을 알 수 있다. 


각각의 폴더에 우리가 필요한 라이브러리들이 위치한다. 

예를 들어, Maven Dependencies 맨 위에 있는 "spring-context-3.2.4.RELEASE.jar"를 찾아보자.  이 jar 파일은 org\springframework\spring-context\3.2.4.RELEASE 폴더에 위치하고 있다.



이런 식으로 인터넷에서 찾아온 라이브러리들이 관리된다.


그러면, 프로젝트 내에서 라이브러리의 추가 및 삭제, 관리는 어디서 되는지를 살펴보자.


1.2 POM.xml

1. pom.xml 파일을 더블클릭하여 열어보자.




그러면 다음과 같은 화면이 보이고, 중간쯤에 있는 pom.xml 탭을 선택한다.



2. pom.xml을 확인하자. 



↑ 이와 같은 xml 파일을 볼 수 있다. 우리가 필요한 라이브러리의 관리는 모두 pom.xml에서 관리한다. 


여기서 <dependency> </dependency> 라는 태그를 확인 할 수 있는데, 이 태그가 하나의 라이브러리를 의미한다. 만약 라이브러리를 추가하고 싶으면, <dependency></dependency>라는 태그를 추가함으로써,

새로운 라이브러리를 추가할 수 있다. 

라이브러리를 추가하는 것은 추후 다시 설명하도록 한다.

2. test 프로젝트 실행

이제 우리가 만든 first 프로젝트가 제대로 실행되는지 확인할 차례다.

1. Servers view에서 새로운 서버를 만든다.  

앞에서 톰캣이 제대로 설치되었는지 확인하기 위해서 만든 서버가 남아있다면 지우자. 


Servers 뷰에서 마우스 우클릭 > New > Server를 선택해도 된다. 


2. Tomcat 7.0을 선택하고, 서버 이름은 test로 바꾼다. 

만약 여러개의 프로젝트가 있을 경우, 하나의 프로젝트에는 하나의 서버만 할당되어야 한다. 즉, 여러개의 서버를 생성해야 할 경우, 같은 이름으로는 서버를 여러개 생성할 수도 없고, 어떤 서버가 어떤 프로젝트인지를 알 수 없기 때문에, 본인은 서버의 이름과 프로젝트의 이름을 동일하게 생성한다.



3. Next > 를 누르자




이와 같은 화면이 나온다. 여기에서는 first라는 프로젝트 하나밖에 없기 때문에 상관없지만, 프로젝트가 여러개가 존재할 경우, 그 모든 프로젝트의 목록이 나온다. first를 더블클릭하거나 Add > 버튼을 눌러서 Configured 쪽으로 옮기고 Finish를 누른다.

 

4. 위의 그림을 보고 잘 따라왔다면 이렇게 톰캣이 추가 되있을텐데 네모난 박스를 클릭해서 톰캣을 실행 시켜보자

 

 

5. 실행을 시키면 빨간글과, 검은글이 파파파팍 하고 뜰텐데 !

아마 저같은 초보자들은 빨간글만 보면 오류인줄 알고 버벅 될거 예요!

하지만 잘 읽어보면 전혀 오류가 아닌 제대로 실행된거라는!!!

 

 

6. 톰캣과 내 프로젝트를 연결이 됬다면 우린 확인을 해봐야겠죠 ?

다들 인터넷을 키고 주소창에 http://localhost:8080/test 라고 입력 해보면

밑에 그림처럼 Hello world! 라고 뜨는 창이 뜬다면 제대로 따라온것이다 ! 후

주소는 (http://localhost:포트번호/프로젝트이름)

 

 오늘은 스프링 프로젝트 생성과 더불어 톰캣 연동까지 해보는 시간이였다.

현재 디비를 공부중이기 때문에 포스팅을 자주 못하고 있다 ㅠㅠ

시간 나는대로 내가 진행하고 있는 곳 까지 포스팅 할 예정이다.

아직 공부하는 중이고 매우 초보자기 때문에 진도가 느리기 때문에 이 글을 보고 답답 한 사람이 많겠지만 나와 같은 완전 초보자 자바에 대한 이해도가 낮은 분들을 위해 그림이 더 많고 글도 쉽게 하려고 하기 때문에 이해해주기 바란다 !

블로그 이미지

시니M

시니의 자바 공부

,

 

아이브로우 추천 :)
에뛰드하우스 청순거짓 브라우 젤 틴트 !!

안에는 어플리케이터가 들어있는데 짧고 부드러운 붓 제형이예요!
끝으로 가면 얇아져서 그런지 그리기가 넘나 편한겨!
처음에는 진해보이는데 착색이 되면 이쁜 갈색으로 변신 :)

착색 후에 물에 닿아도 안지워지지만 !
클렌징 제품에는 지워진다능 ㅠㅠ 
조심조심 하면 이쁜 눈썹 하루종일 간직 할 수 있어요 ^^

#에뛰드하우스 #청순거짓브라우젤틴트 #아이브로우 #아이브로우추천 #아이이뻐 #브라운 #착색대박 #갖고싶다

블로그 이미지

시니M

시니의 자바 공부

,

오늘 추천해 줄 뷰티 잇템은
바로 비비크림 중 에끌라두 비비크림 !!
에끌라두 비비크림은 텍스쳐도 가벼워서 

묵직한 느낌도 없고 소량으로 사용해도
충분히 커버력으로 다 가려주니 인생템이라 할 수 있죠 ㅋㅋ
그리고 백탁현상이 전혀 없어서 꺄르륵!
발림성도 좋고 뭉치는 부분까지도 완벽히!
에끌라두 비비크림의 좋은점은 

건성이나 지성 예민하신 분들 전부 사용이 가능 하다는 점!




블로그 이미지

시니M

시니의 자바 공부

,

오늘 선 보일 향수는 20대 남자에게 어울리는 향을 가진
<불가리 뿌르옴므 익스트림>
가격은 15000~20000 저렴하지만 고효율 적인 향수!
향수 모양도 사각모양으로 상남자를 위한 향수 같지만,
향은 과일향과 꽃향이 은은하게 퍼지고 정말 산뜻한 향이 나요 :)

탑노트 : 프레쉬, 연꽃, 다즐링티
미들노트 : 스파이시,, 우디, 블랙페퍼, 카네이션
베이스노트 : 통카빈, 엠버, 머스크, 시더



블로그 이미지

시니M

시니의 자바 공부

,

 

오라클 전용 툴은 여러개가 있습니다!

가장 좋은건 Oracle for Toad ! 일명 토드!

굉장히 많은걸 지원해주기 때문에 많이 쓰는 툴입니다.

하지만 장점이 존재하면 단점이 존재하는 법!

토드의 유일한 단점은 '무겁다' 입니다.

실제 무게가 무거운건 아니라.. 프로그램 자체가 무겁다는 뜻으로

자칫하면 사용이 불편할 수도 있습니다!

대부분 개발자들은 고사양 보단 적당한 사양인 데탑과 놋북으로 개발 하기 때문에 (물론 전체가 다 그런건 아니고..)

가벼우면서 많은 기능이 있는 툴을 원한답니다

서론이 너무 길어졌네요 !

그래서 오늘은 토드보다 기능면에서는 뒤떨어지지만,

무게와 인터페이스 모든걸 갖춘 SQL Developer Tool을

소개 시켜 줄려 합니다!

 

오라클(DB) 다운로드가 필요하신 분은 http://kms9250.tistory.com/10 <<요기로 ※

 

1. SQL Developer 다운로드

   SQL Developer Tool은 Oracle에서 직접 제공 해주는 Tool입니다.

   https://www.oracle.com/index.html << 이곳에 접속

   네모 박스인 SQL Developer  을 클리크!

 

 

제대로 클리크 했다면 저처럼 이런 화면이 뜰텐데

요기서 첫번째 박스가 다운로드를 한다고 동의하는 곳인데

오오옥 체크 해주시고!

 

두번째 네모박스에 보이듯이 자기 운영체제에 맞는 버전을 클릭해주세요 !

※ SQL Developer Tool 은 JDK가 깔려 있어야 해요 !

   JDK 다운로드 설치 http://kms9250.tistory.com/1 ※

 

 

Oracle DB 다운로드와 같이 로그인을 해야 설치가 가능 합니다.

 

 

 

다운로드 받은 알집을 풀자!

 

 

풀고나면 폴더안에 수많은 폴더가 있을텐데 다 무시하고 네모난 박스를 실행!

 

실행창 둑흔둑흔~

 

 

! 이게 머야 ? 라고 놀라지 말자

우린 이제 시작이니깐 가져올 쿼리가 없기때문에 아니오 클리크!

 

 

짜잔! 이런 화면이 뜰것이다! 그럼 이제 끝일까?

절대 아니다 이제부터가 중요하다!!!!!!!!

 

 

우린 이 툴을 이용하기 위해서 DB를 연동 시켜야 하는데,

기본적으로 Oracle에서 제공해주는 Sysdba와 System 이 있는데,

Sys로 접속을 해보자.

 

1. 접속 이름 : 자신이 보기 편한 걸로 입력

2. 사용자이름 : 이건 유저이름을 쓰는건데, 아직 우린 계정을 생성 하지 않았기에 기본적으로 제공해주는 Sys 계정을 이용 할 예정이다.

3. 비밀번호 : 우리가 Oracle DB를 설치할때 지정해준 비밀번호를 입력

4. 롤 : 기본값 No / SYSDBA 선택

5. 포트는 그대로 1521

6. SID(I) : xe >> orcl

7. 테스트(T) 클리크

 

 

만약 제대로 된 정보를 적었다면 테스트를 클리크 했을 시 상태 : 성공이 뜰것이다!

 

 

이제 접속을 해보자! 별 다를게 없을 것이다.

 

 

이제부터가 더 중요한 부분인데~

Oracle에서 제공해주는 계정 역시 좋지만...

우리는 공부를 위해서 나만의 계정으로 공부하는것도 나쁘지 않기 때문에

사용자 계정을 만들어 보자

 

2. 사용자 계정 만들기

   사용자 만들기 전입니다~ 저는 Shin 이란 사용자를 만들어 볼텐데요~

   만들어지고 난 후 그림의 차이를 발견한다면 당신은 따봉!

 

    <사용자 계정 만들기 전>

 

2-1 아까 만들 Sys계정에서 제공해주는 DB에서

<다른 사용자> 오른쪽 클릭 <사용자 생성> 클리크!

 

 

2-2 자~ 우리는 이제 사용자에 대한 정보를 입력 해볼 차례인데요!

네모난 박스 두개가 보이시죠 ? 차츰차츰 설명해드릴테니 잘따라오세요!

    

     1. 사용자 이름 : 독자들이 편히 알아볼 수 있도록 이름을 부여하는 곳

     2. 새 비밀번호, 비밀번호 입력 : 차후 <사용자 계정> 에서 자기

                                             <DB>를 만들때 필요한 비밀번호

     3. 기본 테이블스페이스 : EXAMPLE

     4. 임시 테이블스페이스 : TEMP

 

 

2-2 무슨 말인지 모르곘다구요 ~? 그럼 제가 입력한걸 보시죠~

     위에서 언급했듯이 전 Shin 이란 사용자계정을 만들텐데요~

     참고 하세요 ㅎㅎ

 

 

2-3 자 이제 기본적인 입력은 끝났고 권한을 줄 차례인데요!

     우리는 다들 뉴비이기 때문에 잘 모르고 왜 해야하는지 모르지만,

     한번 알아봅시다! 일단 권한에서 중요한 부분은 두군데인데요 !

     CONNECT 와 RESOURCE 부분인데요 :) 살포시 체크~

    (왜 해야하는지 이유가 없어서 불편하시죠 ..ㅠㅠ

    죄송합니다.. 머리로는 이해했는데 글로 옮겨쓰자니 멘붕이와서..)

 

 

2-4 할당량 !

     이부분은 체크해도 되고 안해도 된다고 실무자인 친구가 말해줬어요!

     어짜피 취업을 위해 공부하는 입장이라면 굳이 체크 안해도 되요 !

 

 

2-5 후! 다 했으면 적용을 클리크 하시면 밑에 그림처럼 성공적으로 처리했다고 떠요!

     그럼 우리가 만든 사용자 게정이 잘 만들어졌나 볼까요 ?

 

 

2-6 짜잔 ! Shin 사용자가 새로 생겼지요 ?

 

 

3. 내가 만들 사용자 계정에 DB 생성하기

     사실상 지금부터 시작이다..........(크흡..)

 

자 이제 계정을 생성했으니 내 DB를 만들어 볼 차례인데!

 

3-1. 상단의 + 버튼을 클릭!

 

 

3-2. 입력하기

 

먼가 익숙한 그림이지 않은가 ?

접속이름은 독자가 편히 볼 수 있는 이름을 입력

사용자 이름은 ? < 2. 사용자 계정 > 를 잘 마무리 했다면

그 사용자 이름과 비밀번호를 그대로 써라.

접속 유형은 바뀔 필요가 없는게 우린 이제 제공해주는 계정에서 DB를 생성하는게 아니라 내가 만든 계정으로 사용하기 때문에 건들일 필요가 없다

포트 : 1521 SID : orcl 

 

 

입력란에 제대로 입력하면 성공이 뜨지만, 비밀번호나 계정이 틀릴 경우

이런식으로 Username = 사용자계정 Password = 비밀번호가 틀렸다고 나온다 ㅠ

 

 

잘따라 오셔서 생성이 되었다면 ! 죠기죠기 내가 만든 DB가 똭 생길것이다.

 

 

아무래도 이번글은 조잡하거나 잘 이해가 안가실수도 있다...

나도 쓰면서 머리로는 이해를 했지만 손이 안따라주는 느낌을 받았다..

그래도 최선을 다해서 조금이라도 정보를 주고자하는

내 마음을 이해해줬으면 좋겠다

많은걸 바라지않는다. 나처럼 이제 갓 개발을 시작하는 사람에게 최대한 정보를 주기위해 아무것도 생략하지않고 하나하나 상세하게 알려드릴려하다보니, 나도 모르게 글이 엉망인 경우가 많은데, 부디 이해해주기 바라며... 궁금한게 있으시면 댓글이라도 달아주시면 아는 지식 내에서 말해주겠다 ㅠㅠ

 

혼돈을 카오스 같은 글 읽으시느라 고생하셨읍니다.

 

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

스프링 프레임워크 개발 준비 하시는 분들 멀 해야할지 모르신다면

http://kms9250.tistory.com/1

 

오라클 DB 다운로드 설치가 궁금하신분들은

http://kms9250.tistory.com/10

 

MySQL DB 다운로드 설치가 궁금하신분들은

http://kms9250.tistory.com/9

 

MySQL Tool HeidiSQL 다운로드 설치가 궁금하신분들은

http://kms9250.tistory.com/11

블로그 이미지

시니M

시니의 자바 공부

,

많은 사람들이 궁금해 하고 저처럼 다른 툴에 익숙하신 분이라면 처음에 단축키때문에 많이 불편하실텐데요 !

초보들을 위한 HeidiSQL 단축키 설정 방법을 알아볼께요 !

(물론 필자도 초보라.... 빈정상하지 마시길..)


1. 먼저 HeidiSQL 단축키 설정 방법 !

   도구 >> 환경설정 클리크!



2. 단축키 탭을 클리크!



3. 파일 >> 쿼리 탭 닫기 

필자는 인터넷 끌때 쓰는 단축키인 Cirt+W 를 !

안쓰셔도 무방하지만 필요하시다면 설정 GoGo! 



4. SQL >> 실행

   이건 쓰나 안쓰나 아마 처음엔 F9로 설정 되있을 것이다.

   안되있다면 설정 GoGo 

   하지만 굳이 안해도 되는 이유는 다음 사진을 보면 이해      가 간다



5. SQL >> 현재 쿼리 실행

   아마 HeidiSQL을 쓰다보면 가장 필요한 단축키가 아닐까    싶다.

   필자는 전에 Toad를 쓸당시 너무 편리헀던 단축키라

   Crtl+Enter !!! 

   아마 지금 이글을 보고있는 나같은 초보자는

   나에게 매우 고마워 할것이다. 신세계를 알려줬으니..



이상 HeidiSQL 단축키 설정에 대한 포스팅을 끝마치겠다 !

읽다가 이해안가는 부분이 있으면 질문을 해주시고,

저도 초보고 시작하는 입장이라 하나하나씩 하면서

포스팅하는거라 너무 못썻다고 욕하지마시고..

같이 공부하는 처지끼리 좋은 정보 나누자!



※MySQL 다운로드 및 설치※

  -http://kms9250.tistory.com/9


※HeidiSQL Tool 다운로드 및 설치※

  -http://kms9250.tistory.com/11

블로그 이미지

시니M

시니의 자바 공부

,

오늘은 DB설치에 이은 각 DB마다 제가 추천하는 툴(Tool)을 소개

다운로드, 설치, 사용법에 대해서 알아봅시다!

제가 포스팅 할 프로그램은 <HeidiSQL> MySQL 전용 툴인데요 !

HeidiSQL 장점은 무료로 사용할 수 있는 오픈소스 소프트웨어가 첫번째

두번째로는 인터페이스가 깔끔하고 보기 좋고, 업데이트도 수시로 한다는점 


1. HeidiSQL 다운로드를 위한 설치파일 홈페이지!

http://www.heidisql.com/download.php


위에 화면이 뜨면 네모난 칸을 클리크!



다운로드가 다 됬다면 exe 프로그램인 이런 깜찍한 아이콘이 :)

두번 크리크 !



2. 설치 진행을 위해 Next 버튼을 클리크!



3. 설치 할거냐는거에 동의 하시고! Next 버튼을 클리크!



4. 별다른 경로지정이 필요 없으므로 Next 버튼을 클리크!



5. 건들게 없으니 ~ Next 버튼을 클리크!



6. 여기서 체크박스가 4개가 나올텐데요! 하나씩 알아보자!

6-1 바탕화면에 아이콘을 설치 할것인지

6-2 SQL 확장자를 HeidiSQL 프로그램으로 실행 가능하게 할지

6-3 HeidiSQL을 자동으로 업데이트 할것인지

6-4 HeidiSQL 공식홈페이지로 자동으로 버전을 전송할것인지

체크를 완료 하셨다면 Next 클리크!



7. 설치 시작 커피 한잔의 여유를 ~



8. 설치 끝! Finish 클리크!



9. 설치는 끝! 이제 설정란이 나오는데요

   신규를 클릭!



10. 이제 몇몇 칸을 설정을 해줘야 하는데요~

     세션 이름은 클릭 한후 F2나 오른쪽 마우스 클릭 rename을 클릭      하시면 되요~

     그 후 호스트명 / IP에 자기 IP를 넣고

     저처럼 노트북에 개발환경을 차렸다면 Localhost

     데스크탑이시면 컴퓨터 IP를 !

     사용자는 건들필요 없고, 비밀번호는 꼭 설정하셔야해요!

     ※ 잠깐 ! Heidi툴을 쓰실려면 MySQL이 깔려 있어야하는데!

        다운로드 및 설치가 궁금하신 분은!

        http://kms9250.tistory.com/9 참고하세요 ※



11. 다 적으시고 열기를 하면 스키마가 나올텐데요!

     처음 화면엔 이렇게 보기 불편하게 있어서 많이들 물어      보던데요!

     간단하게 마우스 오른쪽 클리크 !

     트리 방식 옵션 >> 객체를 유형별로 묶기를 체크 해제        GOGO



이럤던 지저분한 페이지가




이렇게 보기 좋게 바뀐답니다 !!



MySQL Tool 인 HeidiSQL 다운로드 및 설치 설정 방법은 이쯤에서 끝마치고 !

다음엔 단축키 간편 설정과 오라클 Tool인 Oracle SQL Developer 다운로드 및 설치에 대해 포스팅 할께유 !


누가봐도 부족한 정보지만, 저와 같이 백지상태로 시작하시는분들께 조금이라도 도움이 됬으면 좋곘네요 ㅠㅠ




블로그 이미지

시니M

시니의 자바 공부

,

웹 프로그래밍을 시작하면 빠질 수 없는 것은 

바로 Data Base (DB) 일텐데요 !



오늘은 전편 MYSQL에 이은

현재 가장 많이 쓰이고 있는 ORACLE

다운로드 및 설치 방법을 알려드릴께요 :)


원래 MYSQL 기본 문법을 소개할려헀는데~

일단 디비 설치가 중요할거 같아서 이렇게 글 남기네요 ㅎ



1. ORACLE 다운 로드


http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 접속하시고 


꼭 저기 네모난곳에 체크 한 후에 진행하세요 !




네모난 곳을 체크 했다면 다운로드 권한을 얻는데요

그 후에 밑에 네모난 칸에 운영체제에 맞는 File을 두개 받아야해요 1,2 전부다!




※ 주의해야 할점 ※

오라클은 회원가입을 해야만 다운로드가 가능해요 !



다운로드가 완료 됬다면 이렇게 알집 파일이 두개가 있을텐데요!

둘다 압축을 푸세요 :)




여기서 주의해야 할점!

압축을 풀면 이렇게 풀릴텐데 database_2of2 를 들어가보면 

datadase/stage 폴더가 있을텐데 이 폴더를 database_1of2로 복사

만약에 옮겨주지 않는다면 제대로 설치가 안될수도 있어요 ㅠ




파일을 제대로 옮겼다면 database_1of2 / database / setup을 실행!


1. 아무것도 기재하지 않고 NEXT



2. E-mail 주소를 입력하지 않았다고 오류가 떠도 무시하고 예 클릭



3. 데이터베이스 소프트웨어만 설치 클릭!

11g부터 생성 및 구성도 할 수 있지만, 우린 차후에 직접 만들거기 때문에 소프웨어만 설치.



4. 쭉쭉쭉 NEXT!!!



5. 기본적으로 언어에 한국어, 영어가 지정 되어있기때문에 NEXT



6. 버전 각각 살펴보세요 ~

   하지만 우리에게 필요한건 Enterprise Edition (클릭) NEXT



7. 경로를 설정해주는건데 필자는 처음에 말했듯이 D에 몰아넣기중이라 D://oracle11     로 설정 ! (원래 경로는 D://app/administrato 이다) 



8. 기다려준다



9. 필요 조건 검사가 끝나면 요약창이 뜨는데 완료 버튼을 클릭하면 설치가 진행된다



10. 커피 한잔의 여유를 가진다 ㅎㅎ



11. 만약에 이글을 보고 따라하는 분들 중에 이런 오류가 뜨는 분이 있는데

     필자가 위에서 주의해야할 점을 따라하지 않는 사람들이다! 

     (이싸람들이!)

     <

     여기서 주의해야 할점!

     압축을 풀면 이렇게 풀릴텐데 database_2of2 를 들어가보면 

     datadase/stage 폴더가 있을텐데 이 폴더를 database_1of2로 복사

     만약에 옮겨주지 않는다면 제대로 설치가 안될수도 있어요 ㅠ>


12. 필자의 말을 잘 듣고 주의할점을 다 지켰다면 

     이런 완료 화면이 뜰텐데 ! 이렇게 까지하면 Oracle 설치는 끝이다.




다음 시간엔 데이터베이스 생성에 대해서 알아보자.

MySQL 다운로드 설치가 궁금하시다면

http://kms9250.tistory.com/7 을 참고하자


블로그 이미지

시니M

시니의 자바 공부

,

웹 프로그래밍을 시작하면 빠질 수 없는 것은 

바로 Data Base (DB) 일텐데요 !



우리가 주로 사용 하는 DB는 두가지로

MySQL과 Oracle 이 있는데요!


혼자 공부하기엔 MySQL을 추천하고

취업을 목표로 공부한다면 Oracle을 추천 해주고 싶어요!

오늘은 MySQL 다운로드와 설치에 대해서 읊혀볼께요!


1. MySQL 다운로드 및 설치.


1-1 MySQL 다운로드

http://dev.mysql.com/downloads/mysql/ 접속을 하게 되면 

다운로드 창이 보일 것이다!





이러한 창이 뜰텐데 첫번째 네모박스엔 자기 OS를

두번째 네모박스에 1,2 번째중 자기 OS 비트수에 맞게 다운!

(참고로 인스톨 버전으로 소개하고 싶지만, 필자가 멍청해서 찾지를 못햇다 ..)


클릭하면 



이런 화면이 뜨게 되는데 !

여기서 로그인을 할 것인가를 물어보는데 살포시 무시하고

No Thanks, just start my download. 를 클릭하자 :)



C드라이버 밑에 mysql 폴더를 만들고 압축 해제를 했다.




이렇게 다운로드와 설치가 끝났으면 환경 변수를 등록 해야하는데!

집중 잘해서 끝까지 따라해보자 :)


1-2 환경변수 지정


이제 환경변수를 지정 할 시간이 왔어요! 

우리는 인스톨이 아닌 ZIP으로 설치를 했기 때문에 윈도우 커맨드 창에서 MySQL을 실행하거나 접속하기 위해 환경 변수를 지정 해주는데요~

만약 지정하지 않는다면 !!! 매번 커맨드창에 MySQL경로를 쳐줘야해요 ... (을마나 귀찮겠어요 ..)


시작창에 환경 변수를 검색하면 시스템 환경 변수 편집이 나오는게 

클릭 클릭 > <



우리의 목표는 머다? 바로 환경변수를 지정하는거다

그러므로 환경 변수를 클릭!



이제 환경 변수를 입력 할 시간인데,

집중 또 집중해라! (제발)

요기서 ! 새로만들기를 클릭.


이러한 창이 뜨면


변수 이름 : MYSQL_HOME <- 변수 이름은 의미없다 자신이 기억하기 편하도록 입력


변수 값 : 자신이 압춘 푼 MySQL 폴더 위치! 필자는 C드라이버 밑에 mysql 폴더 밑에 알집을 풀었기 때문에 경로가 저러하다!



내가 한말을 잘 이해하고 시행 했다면

확인을 누른후 시스템 변수에 내가 지정한 

변수 이름과 값으로 나타날것이다




이제 끝이라 생각했다면 오산이다...........

이 변수를 Path에 등록 해야지만 커맨드창에서 MySQL을 직접적으로 다룰 수 있다.


Path 변수 편집하기


시스템 변수중 Path 변수를 찾아 더블 클릭 또는 편집 클릭!



맨 뒤에 %MYSQL_HOME%\bin(아까 지정한 변수이름) 입력 확인버튼 클릭!



이젠 환경 변수 입력은 끝 (여기까지만 해도 엄청 지치네..)


이번엔 my-default.ini 파일을 이용한 my.ini 파일 생성 !

my-default.ini 파일을 메모장으로 열게 되면 

저런 화면이 뜰텐데요 ! 여기서 우리가 수정할 곳은 저기 네모박스에 있는 3가지만 수정하면 되요 !



basedir = "mysql 설치 경로(\ 이거보다 /쓰는걸 추천)

datadir = "C:/mysql/mysql-5.7.14-winx64/data/

port = "port번호" << 주로 MySQL은 3306을 보통 으로 쓴다.


위에 사진에선 datadir 에 경로를 지정 안헀지만, 하는게 좋다 후에.. 오류를 대비해서

중요한건 다 수정을 하고 my-default.ini 의 이름을 my.ini 으로 변경!


이제 MySQL이 커맨드에서 먹히나 시도 해봐야곘죠 ?

※CMD 커맨드창을 열때 관리자모드로 열기 !


접속을 시도하면 권환 문제로 접속에 실패하게 되는데 당황하지 마시고!



mysqld --install 을 입력 하시면



이런 화면으로 성공 했다고 떠요 !

참고로 지울려면 mysqld --remove !


만약 인스톨에 성공했다면 Windows 서비스창에서 확인을 해볼 필요가 있는데요


제대로 깔렸다면 서비스창에 MySQL이 보일거에요!



이제 MySQL을 기동시켜 보겠습니다. Command 창에서 아래 명령어를 입력하세요. 그러면 [그림 5-5 MySQL 기동]을 보실 수 있습니다.


MySQL 기동명령어 : net start mysql

MySQL 중지명령어 : net stop mysql


※ 주의) 여기서도 Command 창을 관리자 권한으로 실행하셔야 합니다.


혹시나 저랑 같은 오류가 나타난다면



이런 오류가 뜰텐데 여기서 한 2일을 날려먹었다 하..


간단하게 mysqld --initialize-insecure 를 입력하면 오류가 나지 않는다면 성공!



그 후에 다시 net start mysql 을 입력하면

짜잔 성공 !



이렇게 잘 따라 왔다면 이제 커맨드창에서 MySQL 접속을 해볼텐데


현재 우린 패스워드를 입력 하지 않았기 때문에

mysql -u유저ID -p유저PW


아까 말했듯이 우린 패스워드를 지정하지 않았기 때문에

mysql -uroot -p 를 치고 엔터를 누르면 
패스워드를 입력하시오 라고 말하는데 그냥 엔터 한번 더 !

누르면 mysql> 로 접속이 된걸 볼 수 있다 .

(하 너무 힘들다 ..)



이쯤 되면 다들 많이 지쳐있을 거라 생각한다..

글쓴이도 무쟈게 지쳐있다..


다음편에선 MySQL 툴을 소개 할텐데 ! (간단한 커맨드창에서 MySQL 명령어도 알아보자.)

툴은 말 그대로 커맨드 창을 쓰지않고 일정 툴을 이용하여 더 보기 쉽고 , 더 다양한 기능을 사용할 수 있기 때문에 공부하는데 더 도움이 된다. 


자바 스프링 프레임워크 공부 하실 분은 http://kms9250.tistory.com/1 로 고고!


블로그 이미지

시니M

시니의 자바 공부

,