ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 22-09-23_jsp(2)
    main 2022. 9. 23. 17:56

    --

     

     

     

    ' . ' 이라고 개체 구조를 표현하던게 ' / '로 표현되는거로 바뀌었을 뿐

     

    --

    plugin들을 이렇게 다운받아 놓았는데,  빌드를 진행하면서 파일이 깨지거나 삭제되서 동작하지 않는 경우가 있을 수 있음...

     

    --

     

    받은애들 깨져서 안되면 

    update해서 다시 받아주면 됨. 

     

    아니면 깨져서 안되거나 이상있는 파일이 있어서 안되는 경우, 폴더 째로 삭제하고 업데이트하면 다시 받아줌. 

     

     

     

    --

     

    --

    메이븐 레퍼지토리 홈페이지로 갈거에요. 필요한 레퍼지토리들은 여기서 다 받을 수 있습니다. 

    즐겨찾기 저장해두고 두고두고 씁시다. 

     

    https://mvnrepository.com/

     

     

    깨진거 또는 필요한 거 있으면 검색해서 맞는 버전의 xml을 복사해서 우리 pom.xml파일에 붙여넣는 방식으로 다운받아줍니다.

     

     

    --

     

    누르면 아래에 xml을 긇어와서 dependency / plugin tag에 넣어주면 됨.

     

     

     

    --

     

     

     

     

     

    저 jar파일이 어디에있는지 경로를 복사해서 찾아보면

     

     

     

    주소에서 jar 파일 이름만 빼주고 찾아주면 경로가 나옵니다.

     

    ---

     

    여길 열어보면 내용이 쭈루룩 나옵니다만

     

    안나오게 하고 싶으면

    ---

    체크를 다 빼주세요. 그럼 jar 파일만 가져옴

    설명이 사라지는것이져

     

    ---

    ---

    이러ㅏㅎ게...이렇게 널어주면 좌측에서 jar 파일을 가져오고요ㅣ....

     

    ---

    하단에 Depencncy Hyerarchy 가보면, 어디에 속해서 온 건지 알 수 있음. maven의 관리기능.

    한개의 jar 파일만 넣었는데 여러개의 jar 파일이 업데이트 되는 경우가 있죠.이게 어디서 온 건지 알아보려면,의존성 부분을 확인하면 됨. maven의 장점 중 하나가, 이렇게 연관된 것들을 내가 하나하나 다운받지 않아도,  같이 업데이트 해 준다는것.  

    -

     

    원래는 이렇게 연관있는 jar 파일들을 하나하나 받아서 넣어줘야 했음.

     

     

    --

    --

    자 이제 연습용이로 maven 프로젝트를 생성해서 maven에대해서 알아봅시다.

     

    새 project를 만들어봅시다

    archetype.... ...?????????

    잘못 선택하면 build 문제 될 수 있으니까 우리는 빼버릴거예요

     

    ( 'New Maven project' 창에서 상단의 'Create a simple project (skip archetype selection)'을 체크 함. 이걸 체크하지 않으면 Maven에서 기본으로 제공하고 있는 archetypes에서 프로젝트 템플릿을

    선택하는 팝업이 뜨게 되지만, 우리가 업무할 떄는 따로 프로젝트 구조가 있을테니 가장 기본적인 구조로 만들고, 내가 구성하고자 하는 모양대로 변경해서 사용하면 됨. )

     

    skip ㄱㄱ

     

    jar는 java archive

    war는 web archive

    아카이브... 약자...

     

    우리는 웹 프로젝트를 생성할 것이기 때문에, 패키징을 war로 해 줄것. 그러면 기본 템플릿이 웹프로젝트 형태로 형성됨. 

    (나중에 우리가 빌드를 마치면서 배포할때도 웹 프로젝트를 개발했다면 war로 배포해야 함...)

    이렇게 새로 만들어줍니다. version도 내맘대로

     

    이렇게 하면 플러그인을 추가로 가져옵니다 web용은 다르니까여 ( 웹프로젝트로 생성해주면서 필요한 플러그인들을 추가로 가져옴)

      

      

    --

    근데 생성밖에 안 했는데 에러가 나는 경우가 있죠?

     

    여기 pom.xml 파일 확인, 에러난걸 볼 수 있음. 그러면 아래에 Markwer에 보면 어디서 에러가 났었는지 알 수 있음

    우리는 configuration 에러가 나 있음. 

     

     

    -----22.09.24 editing.....///

     

     

     

    원랜 webapp 아래에 계층구조가 만들어져야 하는데, 

    안됨. 왜?

     

    여기보면 tomcat이 없어요 그러면 tomcat의 jar없어서 servlet안만들어지니까.

    그러면 필요한 jar 파일을  pom에 추가해주면됨

     

     

     

     

    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

     

     

     

    뭔지 모르겠는 scope가있쪄

     

     

     

    compile : 항상 있음

    provided : 개발할떈 필요한데, 배포할때는 필요 없음. (실행할땐 서버 있고 그 안에는 servlet .api가 있으니까. 필요 없지)

        - 그래서 이 provided scope가있음

    runtime

    system

    test

     

     

    --

    또이상한게

    3.1이어야하는데 2.5예요

     

     

    여기서 바꿔주는데 근데

    버전 낮아서 못쓴대요

     

    https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

     

     

     

     

    maven-compiler를 찾아서 ....

    xml을

     

    여기에 plugin으로 넣어주니다

     

    <project xmlns="http://maven.apache.org/POM/4.0.0"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>kr.or.ddit</groupId>
    	<artifactId>dummyWebMVN</artifactId>
    	<version>1.0</version>
    	<packaging>war</packaging>
    
    	<properties>
    		<!-- java-version 은 내가 정한 property명 -->
    		<java-version>1.8</java-version>
    	</properties>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-compiler-plugin</artifactId>
    				<version>3.10.1</version>
    				<configuration>
    					<!-- property class order -->
    					<source>${java-version}</source>
    					<target></target>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>
    
    	<dependencies>
    		<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>javax.servlet-api</artifactId>
    			<version>3.1.0</version>
    			<scope>provided</scope>
    		</dependency>
    	</dependencies>
    </project>

    이렇게 해줍니다.

     

     - 일반적으로 maven은 처름 로드할때 한번만 읽으니까 다시 update....generate 해주면...

     

     

     

    3.1로 바뀌고.. 저건 저기 web.xml을 보여줍니다.... 안바뀌면 web.xml이랑&nbsp; properties for dummyWebMVN 의 project facet 확인하도록...

     

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

     

    또 뭐가 필요하대요 여기서요..
    얘가 현재 이클립스에서 버전이 너무 낮은거예요
    버전이 어디까지가있나 봅시다

     

    <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin -->
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.3.2</version>
    </dependency>

    이렇게, plugin으로 넣어줍니다

     

     

    webapp 위치도 불편하니까 끌어다가 프로젝트에 넣으면 위치가 상위로 올라옵니다.

     

    그리고 우측에 설정도 저렇게 써주고, 잘 도는지 확인합시다. 

     

     

    lang3, dbcp, beanUtils까지 넣어보세요

     

     

     

    ㅎㅎ!기록포기

     

     

     

    ---

    일반 프로젝트에 없던게잇네여

     

    근데 일반 프로젝트에있던 build가 없어여. 그러면 쟤는 일반 프로젝트의 build 같은 역할이예요 그러면 개발자가 손대는 영역이 아니예요

     

     

    like.// 미리 쪼개놓으신거예요..

     

     

     

     

    ======================================================

    연습은 끝났어요 실전이예요 긴장하세요 눈물나니깐

     

    새로 만들어 주세요

     

     

     

    wabapp의 위치 변경

     

     - plugin설정 필요

     

     

    이렇게 해주시고 , 프로젝트 maven에서 업데이트 해주세요

     

     

     

     

     

    https://mybatis.org/mybatis-3/ko/index.html

     

    MyBatis – 마이바티스 3 | 소개

    마이바티스는 무엇인가? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와

    mybatis.org

     

     

    알아서data를 변환시켜줘요..ata mapper

     

    저 위에 reult object

     

     

    --

    처음엔 mapper 안쓰고 순수 ibatis처럼 쓰면... 얼마나 불편한지 알 것. 그 다음에 mapper쓸것. 

     

     

     

    mybatis도 내부적으로 connection pooling 한다는거지..

     

    --

    dao만 바꾸면

    dao back단에서 동작할 framework만 만들면

     

     

    --

    음 이미 들어있군요

     

     

     

    xml 파일이 두가지. 쿼리문 갖는 xml만들땐 저 새고, 연결구문은 그 아래에 xml file 쓰면 됨

     

    --

    --

     

     

     

     

    class path resource 형태로 관리.....

     

     

    Session은 시간, 통로의 개념. 

     

    SqlSessionFactory 에서 SqlSession 만들기

    여기서 session은 통로긔 개념. 

     

    --

    ...??

     

    sqlSession은 반드시 메서드 단위에서 완성되어야 함. 싱글톤 되면 망함. 

     

     

     

    --

     

     

    --

     

     

    데이터 매핑...

    https://mybatis.org/mybatis-3/ko/configuration.html#settings

     

    MyBatis – 마이바티스 3 | 매퍼 설정

    매퍼 설정 마이바티스 XML 설정파일은 다양한 설정과 프로퍼티를 가진다. 문서의 구조는 다음과 같다.: configuration properties 이 설정은 외부에 옮길 수 있다. 자바 프로퍼티 파일 인스턴스에 설정할

    mybatis.org

     

     

    in-line parameter

     

    --, #{memLike, jdbcType=VARCHAR}
    --, #{memMemorialday, jdbcType=DATE}
    
    SELECT '#{'|| LOWER(SUBSTR(COLUMN_NAME, 1, 1))|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME), '_', ''), 2) 
        ||  ', jdbcType='||
        DECODE(DATA_TYPE, 'DATE','DATE', 'VARCHAR') ||
        '}'
    FROM COLS
    WHERE TABLE_NAME = 'MEMBER';

    생성 코드조각, 콤마는 직접 넣어주면 됨. 

     

     

    나중에 골치아픈 주제 : transaction.....

     

    다음주 수업의 주제 중 하나 transaction

     , 미리 검색해봐야 할 게 있어용

     

     -  ACID, 4가지에 대해 미리 조사해 오는게...1번 미션

     - mariaDB... 오늘쯤엔 CRUD 한세트가 끝나있어야 함. Emp CRUD 끝나있어야 함

     - 이제 emp관리에도 maven 적용해보자

     

    -proxy가 뭔지 알아오기

    - table join 연습

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

     

    <다음주 목표>

    1)수업의 주제 mybatis

    2) lombok 써야 함

    3) hibernate validate 쓰는거

     

     

     

     

     

     

     

     

     

     

     

     

    'main' 카테고리의 다른 글

    22-09-23_jsp(1)  (1) 2022.09.23
    정규식 편하게하는 라이브러리  (0) 2022.09.23
    22-09-21_jsp(2)  (0) 2022.09.21
    22-09-21_jsp(1)  (0) 2022.09.21
    22-09-20_jsp  (2) 2022.09.20
Designed by Tistory.