<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>crazyoung.io</title>
        <link>https://velog.io/</link>
        <description>메모장</description>
        <lastBuildDate>Mon, 17 Aug 2020 13:36:50 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>crazyoung.io</title>
            <url>https://velog.velcdn.com/images/crazy-oung/profile/ff9ea333-b308-4651-89f0-d358e33dbf28/image.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. crazyoung.io. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/crazy-oung" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[전자정부프레임워크 정리]]></title>
            <link>https://velog.io/@crazy-oung/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EC%A0%95%EB%A6%AC</link>
            <guid>https://velog.io/@crazy-oung/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%EC%A0%95%EB%A6%AC</guid>
            <pubDate>Mon, 17 Aug 2020 13:36:50 GMT</pubDate>
            <description><![CDATA[<h1 id="2-전자정부프레임워크-정리">2. 전자정부프레임워크 정리</h1>
<hr>

<h2 id="springmessage-태그에-관해서">spring:message 태그에 관해서</h2>
<p>참조 <a href="https://m.blog.naver.com/PostView.nhn?blogId=hong699822&amp;logNo=220795347288&amp;proxyReferer=https:%2F%2Fwww.google.com%2F">https://m.blog.naver.com/PostView.nhn?blogId=hong699822&amp;logNo=220795347288&amp;proxyReferer=https:%2F%2Fwww.google.com%2F</a></p>
<h2 id="전자정부프레임워크-설정-관련">전자정부프레임워크 설정 관련</h2>
<blockquote>
<p><a href="http://localhost:8080/">http://localhost:8080/</a> 로 접근하는 방법 (주소에서 프로젝트 이름 빼기)</p>
</blockquote>
<p>Servers 파일에서 톰캣 파일 아래에 있는 <code>server.xml</code> 에서 아랫줄에 있는 </p>
<pre><code class="language-xml">&lt;Context docBase=&quot;eGovTest&quot; path=&quot;eGovTest&quot; reloadable=&quot;true&quot; source=&quot;org.eclipse.jst.jee.server:eGovTest&quot;/&gt;&lt;/Host&gt;</code></pre>
<p>코드에서 <code>path=&quot;eGovTest&quot;</code> 경로를 공백으로, 즉 <code>path=&quot;&quot;</code>로 바꿔주면 <a href="http://localhost:8080/">http://localhost:8080/</a>  으로 바로 페이지 호출 가능</p>
<p>참조 <a href="http://www.mins01.com/mh/tech/read/862?lm=list">http://www.mins01.com/mh/tech/read/862?lm=list</a></p>
<h3 id="사이트">사이트</h3>
<ul>
<li><a href="http://www.egovframe.go.kr/">http://www.egovframe.go.kr/</a></li>
</ul>
<h3 id="메뉴얼">메뉴얼</h3>
<ul>
<li><a href="http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/pdf/spring-framework-reference.pdf">http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/pdf/spring-framework-reference.pdf</a></li>
<li><a href="http://www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/">http://www.mkyong.com/spring-mvc/spring-mvc-hello-world-example/</a></li>
<li><a href="http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea2.6">http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea2.6</a>
스프링 버전이 낮음에 주의(현재 3.0.5인데 문서는 2.5.6)</li>
</ul>
<h3 id="mysql-설정관련">Mysql 설정관련</h3>
<p>src/main/resources/globals.properties
#mysql
Globals.DriverClassName=net.sf.log4jdbc.DriverSpy
Globals.Url=jdbc:mysql://127.0.0.1:3306/egov?useUnicode=true&amp;characterEncoding=UTF-8
#Globals.Url=jdbc:mysql://127.0.0.1:3306/egov
JDBC 연결 URI에서 <strong>인코딩 지정</strong>해주면 됨.
web.xml -&gt; bean 설정 XML파일 설정 부분.</p>
<pre><code>&lt;context-param&gt;
        &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
        &lt;param-value&gt;classpath*:egovframework/spring/com/context-*.xml&lt;/param-value&gt;
&lt;/context-param&gt;</code></pre><p><code>classpath*</code> : 모든 클래스 패스를 의미한다.
<code>context-*.xml</code> : &quot;context-&quot;로 시작하고 &quot;.xml&quot;로 끝나는 파일의 의미한다.
클래스 패스속 egovframework/spring/com/ 안에 context- 로 시작하는 모든 xml파일을 넣어두면 된다.
그러면 알아서 bean 들이 설정될 것이다.
이클립스에서는 /src/main/resources 속에 egovframework/spring/com/ 라는 폴더를 의미한다.
주의, 이클립스에서 해당 폴더를 Build Path에 넣어두어야 할 것이다.</p>
<h3 id="설정-찾는법">설정 찾는법</h3>
<blockquote>
<p>xml 찾기</p>
</blockquote>
<p><strong>web.xml</strong> 속에서 관련 태그를 뒤져봐라.
<code>&lt;context-param&gt;</code> <code>&lt;servlet&gt;</code> (이 두곳에서만 설정된다.)
<em>로 설정되어있을 수도 있다.
스프링 디스패처 관련 xml 위치 : <code>/src/main/webapp/WEB-INF/config/egovframework/springmvc</code>
그외 스프링 xml위치 : <code>/src/main/resources/egovframework/spring/com</code>
*</em>server.xml**
톰캣의 설정파일
이클립스에서 Run as -&gt; Run on Server -&gt; 서버 프로젝트 선택 -&gt; 적용할 피로젝트를 add, remove -&gt; 
이렇게하면 자동으로 server.xml이 변경된다.</p>
<pre><code>&lt;Context docBase=&quot;com_test&quot; path=&quot;/com_test&quot; reloadable=&quot;true&quot; source=&quot;org.eclipse.jst.j2ee.server:com_test&quot;/&gt;</code></pre><p>이런 구문이 추가되어있을 것이다.
이 파일의 Context로 추가되어있어야 톰캣 동작시 보인다.
어노테이션
JAVA 5+ 지원, 스프링 프레임 워크 2.5 부터 지원
현재 2014-02-21 전자정부 표줌 프레임 쿼크는 스프링 F/W 버전이 3.0
Spring Annotation - @Required, @Autowired, @Qualifier, @Resource
Annotation-based Controller (@MVC) 스프링 어노테이션 기반 컨트롤러
스프링 프레임워크
버전 2.5 이상이서는 xml로 서블릿 설정등이 필요 없다. 어노테이션으로 설정하면 됨.
<code>dispatcher-servlet.xml</code></p>
<pre><code>&lt;context:component-scan base-package=&quot;egovframework,temp.example&quot;&gt;
        &lt;context:include-filter type=&quot;annotation&quot; expression=&quot;org.springframework.stereotype.Controller&quot;/&gt;
        &lt;context:exclude-filter type=&quot;annotation&quot; expression=&quot;org.springframework.stereotype.Service&quot;/&gt;
        &lt;context:exclude-filter type=&quot;annotation&quot; expression=&quot;org.springframework.stereotype.Repository&quot;/&gt;
&lt;/context:component-scan&gt;</code></pre><p><code>/src/main/resources/egovframework/spring/context-common.xml</code></p>
<pre><code>&lt;context:component-scan base-package=&quot;egovframework,temp.example&quot;&gt;
       &lt;context:exclude-filter type=&quot;annotation&quot; expression=&quot;org.springframework.stereotype.Controller&quot; /&gt;
&lt;/context:component-scan&gt;</code></pre><p><code>base-package=&quot;egovframework,temp.example&quot;</code> 를 구분으로 기본으로 어노테이션으로 설정해서 읽어드릴 패키지를 설정한다.
안하면 새로만든 패키지가 동작 안할 것이다. 
톰캣 재시작해야함.
<code>context-common.xml</code> 에서 추가 안할 경우 @Service, <code>@Repository</code> 등이 처리 안되더라.
그렇게 따지면 <code>dispatcher-servlet.xml</code> 에서 exclunde 를 빼버리는게 더 좋지 않나?(서블릿 전용이라서 뺀건가?)</p>
<p>관련에러
2014-02-25 14:40:05,014  WARN <code>org.springframework.web.servlet.PageNotFound</code> No mapping found for HTTP request with URI <code>/testP01/test/list.do</code> in DispatcherServlet with name &#39;action&#39;
iBATIS
설정파일
/testProject/src/main/resources/egovframework/egovProps/globals.properties
context-datasource.xml , context-sqlMap.xml 에서 사용됨.
${Globals.DbType}와 같은 표현이 XML파일에서 가능하도록해서 사용함.
/testProject/src/main/resources/egovframework/spring/com/context-datasource.xml
DB소스 Bean 설정
/testProject/src/main/resources/egovframework/spring/com/context-sqlMap.xml
SQL-Map 설정</p>
<pre><code>&lt;property name=&quot;dataSource&quot; ref=&quot;egov.dataSource&quot;/&gt;</code></pre><p>로 DB소스 설정함.(context-datasource.xml 파일 참고)
/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-<em>.xml
SQL-MAP 설정. 필수는 아니다. 밑에 적힌 sql-map-</em>.xml 파일을 리소스로 지정한다. (egov 에서는 DB별 처리 때문에 따로 해놓은 것이다.)
/testProject/src/main/resources/egovframework/sqlmap/com/<em>/sql-map-</em>.xml
실제 사용 SQLMAP 설정 XML
쿼리 리턴값 (링크)
select() : resultMap
insert()
성공 : 자동증가 PK값, 또는 null
DB에 따라 XML부분 수정 필요
실패 : 에러발생
delete(), update()
성공 : 적용된 ROW수 
실패 : 0
약어
VO : Value Object
Model, View 간의 데이터 전달용도, getter,setter 메소드 (설명링크)
DAO : Data Access Object
JSP와 DB사용의 중간 역활
저장, 검색 담당. view와 비지니스 분리
톰캣</p>
<h3 id="get방식에서-한글이-깨질-때">GET방식에서 한글이 깨질 때</h3>
<p>사용 JSP에서는</p>
<pre><code>&lt;%@ page language=&quot;java&quot; contentType=&quot;text/html; charset=utf-8&quot; pageEncoding=&quot;utf-8&quot;%&gt;</code></pre><p>라고 적어주고.
<code>server.xml</code> 에서</p>
<pre><code>&lt;Connector connectionTimeout=&quot;20000&quot; port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot; redirectPort=&quot;8443&quot; URIEncoding=&quot;utf-8&quot;/&gt;</code></pre><p>추가 부분 URIEncoding=&quot;utf-8&quot; (JSP의 pageEncoding에 맞춰 수정 필요)
모든 Connector  에 대해서 적어줘야할 듯</p>
<h3 id="기본-클래스-동작-구조">기본 클래스 동작 구조</h3>
<pre><code class="language-java">@Controller
TempController
//컨트롤에서 불러 사용, 내부적으로 TempDAO 를 호출
@Service(&quot;tempService&quot;)
TempServiceImpl extends AbstractServiceImpl implements TempService
@Repository
TempDAO extends EgovAbstractDAO //실제 DB동작</code></pre>
<p>TempVO implements Serializable //Value Object , DB 결과,검색 관련으로 사용</p>
<h3 id="클래스-제작-순서">클래스 제작 순서</h3>
<blockquote>
<p>xml -&gt; DAO -&gt; Service -&gt; ServiceImpl -&gt; Controller</p>
</blockquote>
<p>Controller 를 맨 처음에 껍데기로만 만들어도 상관은 없다.
하지만 DAO를 초반에 만들어 두는게 에러체크하기도 쉽고, JUnit 로 테스트하기에도 좋다.(나머지 클래스는 전부 그냥 가져다 쓰는 것 뿐이라서...)
순서가 다르면 계속 수정할 때 실동작없이 만들어져서 에러잡기 힘들더라...</p>
<h3 id="log4j">log4j</h3>
<pre><code>protected final Log logger = LogFactory.getLog(getClass()); //로그객채 선언 사용법

logger.debug(resultVO);
logger.warn(&quot;테스트&quot;);
log4j.xml</code></pre><h3 id="패키기-기준으로-설정">패키기 기준으로 설정.</h3>
<pre><code>&lt;logger name=&quot;temp.example&quot; additivity=&quot;false&quot;&gt;
    &lt;level value=&quot;DEBUG&quot; /&gt;
    &lt;appender-ref ref=&quot;console&quot; /&gt;
&lt;/logger&gt;</code></pre><h3 id="기본-로그-설정">기본 로그 설정</h3>
<pre><code>&lt;root&gt;
    &lt;level value=&quot;OFF&quot; /&gt;
    &lt;appender-ref ref=&quot;console&quot; /&gt;
&lt;/root&gt;</code></pre><h3 id="junit4">JUnit4</h3>
<p>명칭법 : 클래스명 뒤에 Test를 붙인다.
TempDAOTest 등으로
//DAO를 테스트할 때 사용한 클래스 어노테이션
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {&quot;classpath<em>:egovframework/spring/context-</em>.xml&quot;}) //xml을 읽어서 BEAN 으로 처리해준다.
@TransactionConfiguration(transactionManager = &quot;txManager&quot;, defaultRollback = false) //뭔지 모르겠다.
@Transactional
//에러에서 XML위치를 못 잡는 경우가 있다. Ron Configurations 에서 Classpath부분을 손봐라. 에러에 맞춰서 보고, war등을 추가하니깐 되더라.
@Before
유닛테스트 전 초기화 처리
@Test
테스트로 자동으로 호출한다.
문제는 @Test가 여러개일 경우 순서이 힘들다.
Junit 버전에 따라서 방법이 조금씩 다름.
그래서 그냥 
@Test는 하나 지정 후 안에서 다시 순서대로 테스트 메소드 호출하도록 하였음.
DAO CLASS 정도에서만 사용하면 될것 같다.
assertTrue() 메소드를 기본으로 assertNull, assertNotNull, assertEmpty 등을 사용하면 된다.
이 메소드에서 false처리가 되면 예외를 발생시키고 보여주게 된다.
에러 확인
Console 창에 동작 내용(DEBUG,INFO)과 함께 ERROR 등을 보여준다.
에러의 첫 문장에서 가장 끝 부분 부터 봐라.(JAVA의 에러는 가장 안쪽에서 위로 올라가면서 표현되기 때문에)
끝에있는 내용에 따라 조취를 취하면서 하나씩 제거해 나가면 된다.
error.jsp</p>
<pre><code>&lt;%@ page isErrorPage=&quot;true&quot; import=&quot;java.io.*&quot;%&gt;
...
&lt;c:set var=&quot;exception&quot; value=&quot;${requestScope[&#39;javax.servlet.error.exception&#39;]}&quot;/&gt;
${exception}
&lt;p&gt;cause: ${exception.cause}  &lt;/p&gt;
&lt;p&gt;Message: ${exception.message}  &lt;/p&gt;
&lt;!-- Stack trace --&gt;
&lt;jsp:scriptlet&gt;
  exception.printStackTrace(new java.io.PrintWriter(out));
&lt;/jsp:scriptlet&gt;</code></pre><hr>
<p>게시판 부분 분석
EgovBBSManagerController.java
----=------
@Autowired(required=false) &lt;- 자동으로 객체 생성된다. (required=false 해당 클래스가 없거나, 두개가 있거나 해도 에러 발생시키지 않느다.)
    private EgovBBSCommentService bbsCommentService; //bbsCommentService라는 객체는 EgovBBSManagerController에서 객체 만들 때 소스상에 new 부분이 없어도 만들어진다. (커플링(연결도)을 줄이위 위한거라네... 요즘 추세라네)
----=------
 @RequestMapping(&quot;/cop/bbs/selectBoardList.do&quot;) &lt;- 스프링의 어노테이션 표현, &quot;/cop/bbs/selectBoardList.do&quot;라는 URL요청에 대해서 아래 메소드를 실행한다.</p>
<pre><code class="language-java">    public String selectBoardArticles(@ModelAttribute(&quot;searchVO&quot;) BoardVO boardVO, ModelMap model) throws Exception {}</code></pre>
<p>아규먼트로 넘어오는 BoardVO boardVO 나 ModelMap model 는 selectBoardArticles 메소드를 호출할 때 자동으로 생성되어 호출된다. (아마 스프링쪽에서 해주는 것 같음(상세 조사 필요)</p>
<h3 id="do-제거하기">.do 제거하기</h3>
<p><a href="https://m.blog.naver.com/PostView.nhn?blogId=bg_ellder&amp;logNo=98758399&amp;proxyReferer=https:%2F%2Fwww.google.com%2F">https://m.blog.naver.com/PostView.nhn?blogId=bg_ellder&amp;logNo=98758399&amp;proxyReferer=https:%2F%2Fwww.google.com%2F</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[전자정부프레임워크 환경구성]]></title>
            <link>https://velog.io/@crazy-oung/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%ED%99%98%EA%B2%BD%EA%B5%AC%EC%84%B1</link>
            <guid>https://velog.io/@crazy-oung/%EC%A0%84%EC%9E%90%EC%A0%95%EB%B6%80%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC-%ED%99%98%EA%B2%BD%EA%B5%AC%EC%84%B1</guid>
            <pubDate>Mon, 17 Aug 2020 13:35:58 GMT</pubDate>
            <description><![CDATA[<h1 id="1-전자정부프레임워크-환경구성">1. 전자정부프레임워크 환경구성</h1>
<hr>

<blockquote>
<p>전자정부프레임워크 설치 가이드</p>
</blockquote>
<h2 id="다운로드">다운로드</h2>
<hr>

<h3 id="톰캣-85">톰캣 8.5</h3>
<p><a href="https://tomcat.apache.org/download-80.cgi">https://tomcat.apache.org/download-80.cgi</a></p>
<h3 id="java-jdk-18">Java JDK 1.8</h3>
<p><a href="https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html">https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html</a></p>
<h3 id="전자정부프레임워크">전자정부프레임워크</h3>
<p><a href="https://www.egovframe.go.kr/EgovDevEnvRelease_300.jsp?menu=3&amp;submenu=2&amp;leftsub=2">https://www.egovframe.go.kr/EgovDevEnvRelease_300.jsp?menu=3&amp;submenu=2&amp;leftsub=2</a></p>
<h2 id="각종-오류">각종 오류</h2>
<hr>

<h3 id="mac-os-failed-to-create-the-java-virtual-machine">[mac os] &quot;Failed to create the java virtual machine&quot;</h3>
<blockquote>
<p>참조 <a href="https://stackoverflow.com/questions/62647625/not-able-to-run-eclipse-on-macos-big-sur">https://stackoverflow.com/questions/62647625/not-able-to-run-eclipse-on-macos-big-sur</a></p>
</blockquote>
<p> <code>Info.plist</code> 파일에 <strong>-vm 값을 추가</strong>한다. </p>
<ol>
<li>이클립스 설치</li>
<li>Eclipse.app (독에서 이클립스 아이콘) 우클릭</li>
<li>옵션 &gt; Finder에서 보기 클릭</li>
<li><code>Info.plist</code> 파일을 아톰같은 코드에디터로 열기 (파일 우클릭 &gt; 다음으로 열기 &gt; 코드에디터 아무거나(비주얼 스튜디오 코드 나 아톰) 선택)</li>
<li><code>-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/java</code> 를 Eclipse 키 아래에 추가.<blockquote>
<p><strong>경로는 설치한 자바(jdk) 의 경로로 할것.</strong>
You can see the list by running <strong>/usr/libexec/java_home -V</strong></p>
</blockquote>
</li>
</ol>
<p>수정된 xml 코드 </p>
<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;
&lt;plist version=&quot;1.0&quot;&gt;

  &lt;dict&gt;

    &lt;key&gt;CFBundleExecutable&lt;/key&gt;

    &lt;string&gt;eclipse&lt;/string&gt;

    &lt;key&gt;CFBundleGetInfoString&lt;/key&gt;

    &lt;string&gt;Eclipse 4.14 for Mac OS X, Copyright IBM Corp. and others 2002, 2019. All rights reserved.&lt;/string&gt;

    &lt;key&gt;CFBundleIconFile&lt;/key&gt;

    &lt;string&gt;Eclipse.icns&lt;/string&gt;

    &lt;key&gt;CFBundleIdentifier&lt;/key&gt;

    &lt;string&gt;org.eclipse.platform.ide&lt;/string&gt;

    &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;

    &lt;string&gt;6.0&lt;/string&gt;

    &lt;key&gt;CFBundleName&lt;/key&gt;

    &lt;string&gt;Eclipse&lt;/string&gt;

    &lt;key&gt;CFBundlePackageType&lt;/key&gt;

    &lt;string&gt;APPL&lt;/string&gt;

    &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;

    &lt;string&gt;4.14.0&lt;/string&gt;

    &lt;key&gt;CFBundleSignature&lt;/key&gt;

    &lt;string&gt;????&lt;/string&gt;

    &lt;key&gt;CFBundleVersion&lt;/key&gt;

    &lt;string&gt;4.14.0.I20191210-0610&lt;/string&gt;

    &lt;key&gt;NSHighResolutionCapable&lt;/key&gt;

    &lt;true/&gt;

    &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;

    &lt;string&gt;English&lt;/string&gt;


    &lt;key&gt;Eclipse&lt;/key&gt;

    &lt;array&gt;

      &lt;!-- to use a specific Java version (instead of the platform&#39;s default) uncomment one of the following options,
                    or add a VM found via $/usr/libexec/java_home -V
                &lt;string&gt;-vm&lt;/string&gt;&lt;string&gt;/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Commands/java&lt;/string&gt;
                &lt;string&gt;-vm&lt;/string&gt;&lt;string&gt;/Library/Java/JavaVirtualMachines/1.8.0.jdk/Contents/Home/bin/java&lt;/string&gt;
            --&gt;
      &lt;string&gt;-vm&lt;/string&gt;
      &lt;string&gt;/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin/java&lt;/string&gt;            
      &lt;string&gt;-keyring&lt;/string&gt;
      &lt;string&gt;~/.eclipse_keyring&lt;/string&gt;

    &lt;/array&gt;

    &lt;key&gt;CFBundleDisplayName&lt;/key&gt;
    &lt;string&gt;Eclipse&lt;/string&gt;
  &lt;/dict&gt;

&lt;/plist&gt;
</code></pre>]]></description>
        </item>
        <item>
            <title><![CDATA[MySQL INSERT 문]]></title>
            <link>https://velog.io/@crazy-oung/MySQL-INSERT-%EB%AC%B8</link>
            <guid>https://velog.io/@crazy-oung/MySQL-INSERT-%EB%AC%B8</guid>
            <pubDate>Fri, 13 Mar 2020 02:03:02 GMT</pubDate>
            <description><![CDATA[<h2 id="insert문-문법">INSERT문 문법</h2>
<hr>

<h3 id="기본-작성">기본 작성</h3>
<pre><code class="language-sql">INSERT        /* 1은이거 2는이거 3은이거 */        /*&lt;- 컬럼 의미 적기 (가독성 up)*/
  INTO 테이블명 ( 컬럼1 , 컬럼2 , 컬럼명)
VALUES          (컬럼1값,컬럼1값,컬럼1값);</code></pre>
<h3 id="컬럼이-많은-경우-작성법">컬럼이 많은 경우 작성법</h3>
<pre><code class="language-sql">INSERT        /* 1은이거 2는이거 3은이거 */        /*&lt;- 컬럼 의미 적기 (가독성 up)*/
  INTO 테이블명 (   컬럼1 
          , 컬럼2 
                , 컬럼명
              )
VALUES          (   컬럼1값
        , 컬럼1값
                , 컬럼1값
              );</code></pre>
<h3 id="mysql-확장-insert-구문">MySQL 확장 INSERT 구문</h3>
<pre><code class="language-sql">INSERT             /*&lt;- 컬럼 의미 적기 (가독성 up)*/
  INTO    테이블명         // 무슨 테이블
   SET    컬럼명 = x    // 무슨 컬럼이다.
       , 컬럼명 = y     // 어떤 컬럼</code></pre>
<h2 id="insert-활용">INSERT 활용</h2>
<hr>

<h3 id="on-duplicate-key-update">ON DUPLICATE KEY UPDATE</h3>
<pre><code class="language-sql">INSERT        /* 1은이거 2는이거 3은이거 */        /*&lt;- 컬럼 의미 적기 (가독성 up)*/
  INTO 테이블명 ( 컬럼1 , 컬럼2 , 컬럼명)
VALUES           (컬럼1값,컬럼1값,컬럼1값)
    ON DUPLICATE KEY 
UPDATE 컬럼 = VALUES(컬럼);</code></pre>
<hr>
]]></description>
        </item>
        <item>
            <title><![CDATA[MySQL UPDATE ]]></title>
            <link>https://velog.io/@crazy-oung/MySQL-UPDATE</link>
            <guid>https://velog.io/@crazy-oung/MySQL-UPDATE</guid>
            <pubDate>Thu, 12 Mar 2020 01:52:08 GMT</pubDate>
            <description><![CDATA[<h2 id="update-문법">UPDATE 문법</h2>
<p>MySQL 의 <code>UPDATE</code> 문법은 </p>
<pre><code class="language-sql">UPDATE     테이블명
   SET     컬럼명 = 데이터
 WHERE     조건</code></pre>
<hr>

<h2 id="update-문의-응용">UPDATE 문의 응용</h2>
<ul>
<li>순서 재정렬이 필요할 떄 사용 </li>
</ul>
<pre><code class="language-sql">UPDATE     FAQ
   SET     FAQ_ORD_NO = FAQ_ORD_NO + 1
 WHERE     FAQ_ORD_NO BETWEEN 1 AND 50
</code></pre>
<p>FAQ 순서가 
1번 부터 50인 애들을 <strong>1씩 증가</strong> 시켜준다</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[MySQL AUTO_INCREMENT ]]></title>
            <link>https://velog.io/@crazy-oung/MySQL-AUTOINCREMENT</link>
            <guid>https://velog.io/@crazy-oung/MySQL-AUTOINCREMENT</guid>
            <pubDate>Thu, 27 Feb 2020 02:10:05 GMT</pubDate>
            <description><![CDATA[<h2 id="auto_incrment-조건">AUTO_INCRMENT 조건</h2>
<ul>
<li>기본키(PK) 여야 한다 <h2 id="auto_incrment-초기화">AUTO_INCRMENT 초기화</h2>
<pre><code class="language-sql">ALTER TABLE 테이블명 AUTO_INCREMENT=1;
SET @COUNT = 0;
UPDATE 테이블명 SET FAQ_ID= @COUNT:=@COUNT+1;</code></pre>
<blockquote>
<p><strong>MySQL Workbench</strong> 환경에서
safe update mode 오류시 Edit &gt; Preferences &gt; SQL Editer &gt; Safe Updates 해제</p>
</blockquote>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[이클립스 subclipse(SVN) 수동설치]]></title>
            <link>https://velog.io/@crazy-oung/subclipse-%EC%88%98%EB%8F%99%EC%84%A4%EC%B9%98</link>
            <guid>https://velog.io/@crazy-oung/subclipse-%EC%88%98%EB%8F%99%EC%84%A4%EC%B9%98</guid>
            <pubDate>Tue, 25 Feb 2020 01:19:42 GMT</pubDate>
            <description><![CDATA[<p>회사에서 설치해야 되는데 마켓플레이스에 안떠서 정리한다.</p>
<p><a href="https://github.com/subclipse/subclipse/wiki">https://github.com/subclipse/subclipse/wiki</a></p>
<p>에 들어가면 
<strong>Installation</strong> 부분에 </p>
<ul>
<li>Latest - <a href="https://dl.bintray.com/subclipse/releases/subclipse/latest/">https://dl.bintray.com/subclipse/releases/subclipse/latest/</a></li>
<li>4.3.x - <a href="https://dl.bintray.com/subclipse/releases/subclipse/4.3.x/">https://dl.bintray.com/subclipse/releases/subclipse/4.3.x/</a></li>
</ul>
<p>라 적혀있다. </p>
<p>이클립스에 Help &gt; install new software 누르고 위 링크 둘중 하나를 넣어서 다운받자</p>
<h3 id="svn-프로젝트-불러올때">svn 프로젝트 불러올때</h3>
<p>Check out as project in the workspace 체크</p>
]]></description>
        </item>
    </channel>
</rss>