<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Developer Gonie</title>
    <link>https://ldgeao99-developer.tistory.com/</link>
    <description>안녕하세요. 개발자 이대곤의 블로그에 오신 것을 환영합니다!</description>
    <language>ko</language>
    <pubDate>Tue, 30 Jun 2026 11:32:43 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>이대곤</managingEditor>
    <item>
      <title>Maven 내부용 리포지토리 만들고 Maven 설정하기 - Nexus repository</title>
      <link>https://ldgeao99-developer.tistory.com/652</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&quot;회사에서 내부적으로 사용할 Maven 리포지토리가 필요한 경우가 있다. &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;예를 들어, 오라클 JDBC 드라이버는 Maven 중앙 리포지토리에 존재하지 않기 때문에 모든 개발자들이 로컬 리포지토리에 따로 등록해주는 수고를 해야 하는데, 내부용 Maven 리포지토리를 만들어서 그곳에 오라클 JDBC 드라이버를 등록하면 한 사람만 내부용 리포지토리에 등록해주는 수고를 해 주면 나머지 개발자는 편하게 오라클 JDBC 드라이버를 Maven의 depedency로 등록해서 사용할 수 있게 된다. (한 사람이 노력으로 많은 개발자들의 중복 작업이 사라진다.&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot;&gt;&lt;a href=&quot;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1695775814306&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;Maven 내부용 리포지토리 만들고 Maven 설정하기&quot; data-og-description=&quot;회사를 옮길 때 마다 Maven 리포지토리와 관련된 비슷한 짓거리를 하고 그 내용을 동료들에게 알려주어야 하는 귀찮음을 줄이고자 정리해 보았다. 회사에서 내부적으로 사용할 Maven 리포지토리가&quot; data-og-host=&quot;javacan.tistory.com&quot; data-og-source-url=&quot;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; data-og-url=&quot;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/bgAaSO/hyT2xvg1DD/UtVZPG3SkD6yK0C5SXGYl0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/lD482/hyT2rPmas8/kaf8JkBuJ3gHUm6Dey4xZ0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/boO6q9/hyT2wwnA5b/ocaibiYPfDxApCA908Cuuk/img.jpg?width=400&amp;amp;height=518&amp;amp;face=0_0_400_518&quot;&gt;&lt;a href=&quot;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://javacan.tistory.com/entry/%EA%B8%B0%EC%96%B5%EC%9A%A9-Maven-%EC%A4%91%EC%95%99-%EB%A6%AC%ED%8F%AC%EC%A7%80%ED%86%A0%EB%A6%AC-%EB%A7%8C%EB%93%A4%EA%B3%A0-Maven-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/bgAaSO/hyT2xvg1DD/UtVZPG3SkD6yK0C5SXGYl0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/lD482/hyT2rPmas8/kaf8JkBuJ3gHUm6Dey4xZ0/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/boO6q9/hyT2wwnA5b/ocaibiYPfDxApCA908Cuuk/img.jpg?width=400&amp;amp;height=518&amp;amp;face=0_0_400_518');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Maven 내부용 리포지토리 만들고 Maven 설정하기&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;회사를 옮길 때 마다 Maven 리포지토리와 관련된 비슷한 짓거리를 하고 그 내용을 동료들에게 알려주어야 하는 귀찮음을 줄이고자 정리해 보았다. 회사에서 내부적으로 사용할 Maven 리포지토리가&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;javacan.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인 공부/maven</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/652</guid>
      <comments>https://ldgeao99-developer.tistory.com/652#entry652comment</comments>
      <pubDate>Wed, 27 Sep 2023 09:50:16 +0900</pubDate>
    </item>
    <item>
      <title>[logback] 동일한 로그가 의도치않게 2번 연속 찍히는 문제해결</title>
      <link>https://ldgeao99-developer.tistory.com/651</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제상황&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;com.kt.smcp.core.apigateway.service, com.kt.smcp.core.apigateway.relay&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;위 두 패키지 내에 존재하는 클래스에서 로그를 찍으면 동일한 로그가 의도치않게 2번 연속 찍히는 문제가 발생함&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제를 발생시킨 코드 및 원인&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;문제의 원인은 logger 가 root의 속성을 상속받게 되어있는데&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;이미 STDOUT 관련된게 존재하는 상태에서 root의 STDOUT 관련 속성을 상속받다보니 생긴 문제이다.&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1695345760226&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;appender name=&quot;STDOUT&quot; class=&quot;ch.qos.logback.core.ConsoleAppender&quot;&amp;gt;
		&amp;lt;encoder&amp;gt;
			&amp;lt;pattern&amp;gt;%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20}.%M\(%line\) - %msg%n
			&amp;lt;/pattern&amp;gt;
		&amp;lt;/encoder&amp;gt;
	&amp;lt;/appender&amp;gt;
    
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.service&quot;&amp;gt;
		&amp;lt;level value=&quot;INFO&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;    &amp;lt;!-- 문제발생의 원인 --&amp;gt;
	&amp;lt;/logger&amp;gt;
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.relay&quot;&amp;gt;
		&amp;lt;level value=&quot;TRACE&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;    &amp;lt;!-- 문제발생의 원인 --&amp;gt;
	&amp;lt;/logger&amp;gt;

	&amp;lt;root level=&quot;INFO&quot;&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;SERVICE_LOG&quot; /&amp;gt;	
	&amp;lt;/root&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해결책1&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;* additivity=&quot;false&quot; 속성을 추가해줌으로써 root 의 속성을 상속받지 않게 하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1695347485387&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;appender name=&quot;STDOUT&quot; class=&quot;ch.qos.logback.core.ConsoleAppender&quot;&amp;gt;
		&amp;lt;encoder&amp;gt;
			&amp;lt;pattern&amp;gt;%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20}.%M\(%line\) - %msg%n
			&amp;lt;/pattern&amp;gt;
		&amp;lt;/encoder&amp;gt;
	&amp;lt;/appender&amp;gt;
    
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.service&quot; additivity=&quot;false&quot;&amp;gt;
		&amp;lt;level value=&quot;INFO&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;
	&amp;lt;/logger&amp;gt;
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.relay&quot; additivity=&quot;false&quot;&amp;gt;
		&amp;lt;level value=&quot;TRACE&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;
	&amp;lt;/logger&amp;gt;

	&amp;lt;root level=&quot;INFO&quot;&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;SERVICE_LOG&quot; /&amp;gt;	
	&amp;lt;/root&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해결책2&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;어차피 상속받는걸 남겨둘 필요가 없으므로 각각의 logger 에서 STDOUT 관련 속성을 제거하는 방법&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1695347791964&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	&amp;lt;appender name=&quot;STDOUT&quot; class=&quot;ch.qos.logback.core.ConsoleAppender&quot;&amp;gt;
		&amp;lt;encoder&amp;gt;
			&amp;lt;pattern&amp;gt;%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{20}.%M\(%line\) - %msg%n
			&amp;lt;/pattern&amp;gt;
		&amp;lt;/encoder&amp;gt;
	&amp;lt;/appender&amp;gt;
    
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.service&quot;&amp;gt;
		&amp;lt;level value=&quot;INFO&quot; /&amp;gt;
	&amp;lt;/logger&amp;gt;
	&amp;lt;logger name=&quot;com.kt.smcp.core.apigateway.relay&quot;&amp;gt;
		&amp;lt;level value=&quot;TRACE&quot; /&amp;gt;
	&amp;lt;/logger&amp;gt;

	&amp;lt;root level=&quot;INFO&quot;&amp;gt;
		&amp;lt;appender-ref ref=&quot;STDOUT&quot; /&amp;gt;
		&amp;lt;appender-ref ref=&quot;SERVICE_LOG&quot; /&amp;gt;	
	&amp;lt;/root&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고 링크:&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://thinkwarelab.wordpress.com/2016/11/18/java%EC%97%90%EC%84%9C-logback%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%A1%9C%EA%B9%85logging-%EC%82%AC%EC%9A%A9%EB%B2%95/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://thinkwarelab.wordpress.com/2016/11/18/java%EC%97%90%EC%84%9C-logback%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EB%A1%9C%EA%B9%85logging-%EC%82%AC%EC%9A%A9%EB%B2%95/&lt;/a&gt;&lt;/p&gt;</description>
      <category>개인 공부/logback</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/651</guid>
      <comments>https://ldgeao99-developer.tistory.com/651#entry651comment</comments>
      <pubDate>Fri, 22 Sep 2023 10:31:14 +0900</pubDate>
    </item>
    <item>
      <title>[lombok] 빌더패턴을 위한 @Builder</title>
      <link>https://ldgeao99-developer.tistory.com/650</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;사용법&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. Model 클래스 위에 @Builder 어노테이션을 붙여준다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1682475023131&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;@Builder
public class Bag {
	private String name;
        private int money;
        private STring memo;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. 객체를 생성하기 위해 파라미터를 다음과 같은 형태로 넘겨준다.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1682475013667&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Bag bag = Bag.builder()
		.name(&quot;name&quot;)
        	.money(1000)
        	.memo(&quot;memo&quot;)
        	.build();&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;장점&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1) &lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;객체 생성을 위해 파라미터를 넘겨줄 때 순서대로 넘겨주지 않아도 되는 장점이 생긴다.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2) 가독성이 높아진다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;참고링크&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://pamyferret.tistory.com/67&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://pamyferret.tistory.com/67&lt;/a&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://projectlombok.org/features/Builder&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://projectlombok.org/features/Builder&lt;/a&gt;&lt;/p&gt;</description>
      <category>개인 공부/lombok 라이브러리</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/650</guid>
      <comments>https://ldgeao99-developer.tistory.com/650#entry650comment</comments>
      <pubDate>Wed, 26 Apr 2023 10:57:54 +0900</pubDate>
    </item>
    <item>
      <title>메이븐, 내 프로젝트 A의 클래스를 B에서 가져다 쓰고 싶은 경우</title>
      <link>https://ldgeao99-developer.tistory.com/649</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://dogcowking.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://dogcowking.tistory.com/385&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1681955823062&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;article&quot; data-og-title=&quot;요약/ Maven 다른 프로젝트 의존성, 다중모듈&quot; data-og-description=&quot;* 내 프로젝트 A의 클래스를 B에서 가져다 쓰고 싶은 경우 별다른 설정 할 필요 없음. 둘다 Maven 프로젝트이고 같은 Workspace 안에 있다면 그냥 Dependency 추가 가능 com.mypjt myProjectA 0.0.1-SNAPSHOT * 다중 &quot; data-og-host=&quot;dogcowking.tistory.com&quot; data-og-source-url=&quot;https://dogcowking.tistory.com/385&quot; data-og-url=&quot;https://dogcowking.tistory.com/385&quot; data-og-image=&quot;https://scrap.kakaocdn.net/dn/cQFDzK/hySlAfPs5n/hHYzbHUuJIvonrRISz9JSk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/ckpX9O/hySlz2iFa8/bUkjXSmOU69jPZCeekUXkk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800&quot;&gt;&lt;a href=&quot;https://dogcowking.tistory.com/385&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://dogcowking.tistory.com/385&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url('https://scrap.kakaocdn.net/dn/cQFDzK/hySlAfPs5n/hHYzbHUuJIvonrRISz9JSk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800,https://scrap.kakaocdn.net/dn/ckpX9O/hySlz2iFa8/bUkjXSmOU69jPZCeekUXkk/img.png?width=800&amp;amp;height=800&amp;amp;face=0_0_800_800');&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;요약/ Maven 다른 프로젝트 의존성, 다중모듈&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;* 내 프로젝트 A의 클래스를 B에서 가져다 쓰고 싶은 경우 별다른 설정 할 필요 없음. 둘다 Maven 프로젝트이고 같은 Workspace 안에 있다면 그냥 Dependency 추가 가능 com.mypjt myProjectA 0.0.1-SNAPSHOT * 다중&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;dogcowking.tistory.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인 공부/maven</category>
      <category>dependency</category>
      <category>maven</category>
      <category>Spring</category>
      <category>스프링</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/649</guid>
      <comments>https://ldgeao99-developer.tistory.com/649#entry649comment</comments>
      <pubDate>Thu, 20 Apr 2023 10:57:04 +0900</pubDate>
    </item>
    <item>
      <title>UNION ALL, UNION (쿼리문의 결과를 합치는 연산)</title>
      <link>https://ldgeao99-developer.tistory.com/648</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #ee2323;&quot;&gt;* 아래 연산자를 사용할 때는 두 테이블의 컬럼 갯수 및 컬럼의 이름을 맞춰줘야 한다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;UNION ALL&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 쿼리의 결과를 이어붙이며, 중복을 고려하지 않고 무작정 합친다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1681706270086&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; SELECT ID, NAME FROM TABLE1 ;

 UNION ALL

 SELECT ID, NAME FROM TABLE2 ;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;TABLE1&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; apple&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;TABLE2&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grape&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;UNION ALL 결과&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; apple&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grape&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;UNION&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;두 쿼리의 결과를 이어붙이며, 중복이 있다면 하나만 포함한다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1681706279003&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt; SELECT ID, NAME FROM TABLE1 ;

 UNION

 SELECT ID, NAME FROM TABLE2 ;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt; TABLE1&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; apple&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;TABLE2&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grape&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&amp;lt;UNION 결과&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NAME&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; apple&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;banana&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grape&lt;/span&gt;&lt;/p&gt;</description>
      <category>개인 공부/Oracle</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/648</guid>
      <comments>https://ldgeao99-developer.tistory.com/648#entry648comment</comments>
      <pubDate>Mon, 17 Apr 2023 10:39:17 +0900</pubDate>
    </item>
    <item>
      <title>MERGE INTO 문(ON절의 조건에 따른 분기 실행)</title>
      <link>https://ldgeao99-developer.tistory.com/647</link>
      <description>&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;MERGE INTO 문의 기능&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;UPDATE, INSERT, DELETE 문을 각각 상황에 따라 분기시켜 처리하기 위해 사용된다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;기본 구조는 아래와 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt; &lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;MERGE&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;INTO 테이블&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;USING 테이블 O&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;N 조건&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHEN MATCHED THEN ~&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHEN NOT MATCHED THEN ~&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;그리고 실행흐름은 아래와 같다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;br /&gt;ON에 사용된 조건절의 결과가 USING 테이블에 대해 TRUE이면&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;WHEN MATCHED 의 THEN 절이 실행되며&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;반대로 FALSE이면&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #000000; text-align: start;&quot;&gt;WHEN MATCHED 의 THEN 절이 실행된다.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예시1&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1680227853187&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;MERGE 
 INTO emp a
USING dual
   ON (a.empno = 7788)
 WHEN MATCHED THEN
      UPDATE
         SET a.deptno = 20
 WHEN NOT MATCHED THEN
      INSERT (a.empno, a.ename, a.deptno)
      VALUES (7788, 'SCOTT', 20);&lt;/code&gt;&lt;/pre&gt;
&lt;h2 style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예시2&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1680227864099&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;MERGE 
 INTO job_history a
USING emp b
   ON (a.empno = 7788 AND a.empno = b.empno)
 WHEN MATCHED THEN
      UPDATE
         SET a.job = b.job
           , a.deptno = b.deptno
 WHEN NOT MATCHED THEN
      INSERT (a.empno, a.job, a.deptno)
      VALUES (b.empno, b.job, b.deptno);&lt;/code&gt;&lt;/pre&gt;</description>
      <category>개인 공부/Oracle</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/647</guid>
      <comments>https://ldgeao99-developer.tistory.com/647#entry647comment</comments>
      <pubDate>Fri, 31 Mar 2023 11:06:16 +0900</pubDate>
    </item>
    <item>
      <title>CASE WHEN ~ THEN ~ ELSE END</title>
      <link>https://ldgeao99-developer.tistory.com/646</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;CASE WHEN ~ THEN ~ ELSE END 문의 기능&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;WHEN의 조건문에 사용된 컬럼의 값이 ㅇ 인 경우 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;THEN에 명시된 ㅅ 으로 값을 대치한 결과를 보여줌&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;예시&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;테이블 생성&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 28.3721%; height: 192px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;A&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;B&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 17px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1680224791963&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;CREATE TABLE TABLE1(
	A VARCHAR2 (5), 
	B VARCHAR2 (5)
);

INSERT INTO TABLE1 VALUES ('*','*');
INSERT INTO TABLE1 VALUES ('+','+');
INSERT INTO TABLE1 VALUES ('-','-');
INSERT INTO TABLE1 VALUES ('.','.');

COMMIT;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;사용예시&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;* &quot;&lt;b&gt;as B&quot;는 &lt;/b&gt;Alias 이므로 생략가능&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1680225005791&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT A, 
       CASE
           WHEN B = '*' THEN 'star'
           WHEN B = '+' THEN 'plus'
           WHEN B = '-' THEN 'minus'
           ELSE 'etc'
       END AS ENGLISH
FROM TABLE1;&lt;/code&gt;&lt;/pre&gt;
&lt;table style=&quot;border-collapse: collapse; width: 29.5349%; height: 180px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;A&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;b&gt;ENGLISH&lt;/b&gt;&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;*&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;star&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;+&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;plus&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;-&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;minus&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 19px;&quot;&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;.&lt;/span&gt;&lt;/td&gt;
&lt;td style=&quot;width: 50%; height: 19px; text-align: center;&quot;&gt;&lt;span style=&quot;color: #000000; text-align: center;&quot;&gt;etc&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인 공부/Oracle</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/646</guid>
      <comments>https://ldgeao99-developer.tistory.com/646#entry646comment</comments>
      <pubDate>Fri, 31 Mar 2023 10:09:34 +0900</pubDate>
    </item>
    <item>
      <title>이클립스 콘솔에 출력되는 로그 라인수 늘리기</title>
      <link>https://ldgeao99-developer.tistory.com/644</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;설정변경 이유&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아래 설정을 바꿔주지 않으면 &lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘솔창에서 많은 라인의 로그가 출력됐을 경우 맨 위에 존재하던 로그를 읽어볼 수 없었다.&lt;/span&gt;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;해줘야 하는 것&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;콘솔창 빈공간 우클릭 - Preferences - Console buffer size 값 변경하기&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;668&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/5p50U/btr2ZDhJtpi/rHcLV4ni0KJV76MhKEcfv0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/5p50U/btr2ZDhJtpi/rHcLV4ni0KJV76MhKEcfv0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/5p50U/btr2ZDhJtpi/rHcLV4ni0KJV76MhKEcfv0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5p50U%2Fbtr2ZDhJtpi%2FrHcLV4ni0KJV76MhKEcfv0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;620&quot; height=&quot;668&quot; data-origin-width=&quot;620&quot; data-origin-height=&quot;668&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>DIE/Eclipse</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/644</guid>
      <comments>https://ldgeao99-developer.tistory.com/644#entry644comment</comments>
      <pubDate>Fri, 10 Mar 2023 10:21:18 +0900</pubDate>
    </item>
    <item>
      <title>스프링 부트 (Spring Boot) 에서 MyBatis 적용하기</title>
      <link>https://ldgeao99-developer.tistory.com/642</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1. build.gradle 에 아래 dependency 추가하기&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1677207568084&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;// MyBatis 
implementation group: 'com.oracle.database.jdbc', name: 'ojdbc11', version: '21.8.0.0'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.0'&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;2. application.properties 에 아래 내용 추가하기&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1677207211686&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#Oracle DataSource
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521/orcl
spring.datasource.username=temp
spring.datasource.password=1234

# Mapper Xml Location
mybatis.mapper-locations=classpath:mappers/*.xml&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;3.&amp;nbsp;Mapper 인터페이스 생성하기&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;64&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/nv2UT/btr0BBFBAkD/j9avtAZNklSatMALKR47c0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/nv2UT/btr0BBFBAkD/j9avtAZNklSatMALKR47c0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/nv2UT/btr0BBFBAkD/j9avtAZNklSatMALKR47c0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnv2UT%2Fbtr0BBFBAkD%2Fj9avtAZNklSatMALKR47c0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;162&quot; height=&quot;46&quot; data-origin-width=&quot;226&quot; data-origin-height=&quot;64&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1677207323276&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.example.demo.repository;

import org.apache.ibatis.annotations.Mapper;
import com.example.demo.entity.Fruit;

@Mapper
public interface FruitMapper {
    Fruit selectById(String no);
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;4. src/main/resources 아래에 mappers 폴더 추가 후 xml 생성하기&lt;/span&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;* namespace는 인터페이스로 맞춰주면 된다.&lt;br /&gt;* mappers 폴더는 application.properties 에 이렇게 명시해줬기 때문에 그런거지 내 입맛대로 수정 가능&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;87&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cw5wxy/btr0uxyaQ6W/tBb7UY6lOCt4sKEZJqUdJk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cw5wxy/btr0uxyaQ6W/tBb7UY6lOCt4sKEZJqUdJk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cw5wxy/btr0uxyaQ6W/tBb7UY6lOCt4sKEZJqUdJk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcw5wxy%2Fbtr0uxyaQ6W%2FtBb7UY6lOCt4sKEZJqUdJk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;178&quot; height=&quot;65&quot; data-origin-width=&quot;238&quot; data-origin-height=&quot;87&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1677207292194&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;

&amp;lt;!DOCTYPE mapper PUBLIC &quot;-//mybatis.org//DTO Mapper 3.0//EN&quot; &quot;http://mybatis.org/dtd/mybatis-3-mapper.dtd&quot;&amp;gt;

&amp;lt;mapper namespace=&quot;com.example.demo.repository.FruitMapper&quot;&amp;gt;
    &amp;lt;select id=&quot;selectById&quot; resultType=&quot;com.example.demo.entity.Fruit&quot;&amp;gt;
        SELECT * FROM tbl_fruit WHERE no = #{no}
    &amp;lt;/select&amp;gt;
&amp;lt;/mapper&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;5. Mapper 인터페이스를 사용하여 결과를 반환하는 서비스 생성&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1677207460340&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.example.demo.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import com.example.demo.entity.Fruit;
import com.example.demo.repository.FruitMapper;

@Service
public class MyService {
	
	@Autowired
	FruitMapper fruitMapper;
	
	public Fruit getFruit(String no) {
		return fruitMapper.selectById(no);
	}
}&lt;/code&gt;&lt;/pre&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;6.&amp;nbsp;Mapper 인터페이스를 사용하여 결과를 반환하는 서비스 생성&lt;/span&gt;&lt;/h2&gt;
&lt;pre id=&quot;code_1677207507562&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
import com.example.demo.entity.Fruit;
import com.example.demo.service.MyService;

@RestController
public class MyController {
	
	@Autowired
	MyService myservice;
	
	@GetMapping(&quot;/fruit/{no}&quot;)
	public Fruit asda(@PathVariable String no) {
		return myservice.getFruit(no);
	}
}&lt;/code&gt;&lt;/pre&gt;</description>
      <category>개인 공부/Spring Boot</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/642</guid>
      <comments>https://ldgeao99-developer.tistory.com/642#entry642comment</comments>
      <pubDate>Fri, 24 Feb 2023 11:58:33 +0900</pubDate>
    </item>
    <item>
      <title>스프링 부트 (Spring Boot)에서 @GetMapping, @PostMapping 어노테이션 동작하도록 하는 dependency</title>
      <link>https://ldgeao99-developer.tistory.com/641</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;136&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/mRGgE/btr0xPLIULG/0NUJWK03nVSaj3UkYiPjoK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/mRGgE/btr0xPLIULG/0NUJWK03nVSaj3UkYiPjoK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/mRGgE/btr0xPLIULG/0NUJWK03nVSaj3UkYiPjoK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FmRGgE%2Fbtr0xPLIULG%2F0NUJWK03nVSaj3UkYiPjoK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;452&quot; height=&quot;100&quot; data-origin-width=&quot;615&quot; data-origin-height=&quot;136&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1677203529914&quot; class=&quot;java&quot; data-ke-language=&quot;java&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;implementation 'org.springframework.boot:spring-boot-starter-web'&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>개인 공부/Spring Boot</category>
      <author>이대곤</author>
      <guid isPermaLink="true">https://ldgeao99-developer.tistory.com/641</guid>
      <comments>https://ldgeao99-developer.tistory.com/641#entry641comment</comments>
      <pubDate>Fri, 24 Feb 2023 10:53:19 +0900</pubDate>
    </item>
  </channel>
</rss>