<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: slumboy</title>
    <description>The latest articles on DEV Community by slumboy (@slumboy).</description>
    <link>https://dev.to/slumboy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F73779%2F2aba9466-87d0-451e-b492-5448412578fe.png</url>
      <title>DEV Community: slumboy</title>
      <link>https://dev.to/slumboy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/slumboy"/>
    <language>en</language>
    <item>
      <title>How to fixed Warning Version pom.xml</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Tue, 23 Jul 2019 10:42:33 +0000</pubDate>
      <link>https://dev.to/slumboy/how-to-fixed-warning-version-pom-xml-3pee</link>
      <guid>https://dev.to/slumboy/how-to-fixed-warning-version-pom-xml-3pee</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsghb5u9n5lofg31wk7x.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsghb5u9n5lofg31wk7x.PNG"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!--$NO-MVN-MAN-VER$--&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fte9z3m9j8zc68ri738wo.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fte9z3m9j8zc68ri738wo.PNG"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>pomxml</category>
      <category>maven</category>
    </item>
    <item>
      <title>How to configure console color (asni) Spring-boot </title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Fri, 19 Jul 2019 04:50:36 +0000</pubDate>
      <link>https://dev.to/slumboy/how-to-configure-console-color-asni-spring-boot-45mn</link>
      <guid>https://dev.to/slumboy/how-to-configure-console-color-asni-spring-boot-45mn</guid>
      <description>&lt;p&gt;In application.yml file. &lt;/p&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;spring:
  output:
    ansi:
      enabled:  always
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
      <category>springboot</category>
      <category>java</category>
      <category>asni</category>
      <category>yml</category>
    </item>
    <item>
      <title>ชำแหละ [(ngModel)] </title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Tue, 12 Feb 2019 04:40:57 +0000</pubDate>
      <link>https://dev.to/slumboy/-ngmodel--4i5l</link>
      <guid>https://dev.to/slumboy/-ngmodel--4i5l</guid>
      <description>

&lt;h2&gt;
  
  
  สวัสดี สวีดัส หลังจากที่หายหน้าหายตากันไปนานแสนนาน (ช่วงงานเยอะ กราบขอภัย _/_ ทุกๆท่าน)
&lt;/h2&gt;

&lt;h2&gt;
  
  
  เอาละเพื่อไม่ให้เป็นการเสียนาฬิกา เห๊ย เวล๊าา!!!  ฮิฮิ
&lt;/h2&gt;

&lt;p&gt;เอาละเราเข้าเรื่องกันละมา &lt;br&gt;
[(ngModel)] ที่เราใช้เขาอยู่ทุกวี่ทุกวัน และยังทำงานเป็น two-way binding แล้วยังไงต่อนะ มันจะมีประโยชน์อะไรถ้าเราไม่สามารถนำความสามารถนี้ของ ngModel ไปต่อยอดได่ &lt;br&gt;
ณ ตอนนี้ วันนี้ เราเลยจะมาแยกชิ้นส่วนของเขากัน ว่าจริงๆแล้ว มันมีความหมายอะไร และทำอะไรได้บ้าง&lt;br&gt;
เพื่อไม่ให้เป็นการพร่ำเพื่อ (อันที่จริงนี้ก็พร่ำเพื่อสุดๆละนะ -__-)&lt;br&gt;
รูปเดิม  : [(ngModel)] = ทำงานเป็น two-way (properties+$event)&lt;br&gt;
แยกส่วน : [ngModel] = ทำงานเป็น ตัวแปร properties&lt;br&gt;
แยกส่วน : (ngModelChange) = ทำงานเป็น ตัวแปร $event&lt;/p&gt;




&lt;p&gt;จริงๆแล้ว [ngModel] พอเราเขียนแบบนี้ มันก็คือ one-way binding นั้นละครับ แต่ในบทความอันเล็กๆนี้เราจะไม่ขอพูดถึงละกัน (เดี๋ยวไม่จบ ฮ่าๆๆ) &lt;br&gt;
เอาละพอเราแยกมันออกเขียนแบบนี้เเล้ว มันดียังไง ทำไรได้ บอกเลยว่า &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;เราสามารถใช้ pipe ที่เราเขียนขึ้นเอง ได้&lt;/li&gt;
&lt;li&gt;เราสามารถแปลงค่า ทุกๆสิ่งอย่างได้ &lt;/li&gt;
&lt;li&gt;เราสามารถให้มันแสดงผลตามที่เราต้องการได้&lt;/li&gt;
&lt;li&gt;และอื่นๆอีกมากมาย
ดังตัวอย่างเล็กๆน้อยๆ&lt;/li&gt;
&lt;/ul&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;ngModel&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item.value | useMyPipeToFormatThatValue"&lt;/span&gt; 
      &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;ngModelChange&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"item.value=$event"&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"inputField"&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"text"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;






&lt;p&gt;** หากผิดพลาดประการใด ก็ขออภัยไว้ ณ ที่นี้ด้วยนะครับ&lt;/p&gt;


</description>
      <category>angular2</category>
    </item>
    <item>
      <title>JPA Code example (Ep.1)</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Wed, 11 Jul 2018 12:37:38 +0000</pubDate>
      <link>https://dev.to/slumboy/jpa-code-example-ep1-4dgi</link>
      <guid>https://dev.to/slumboy/jpa-code-example-ep1-4dgi</guid>
      <description>&lt;h4&gt;
  
  
  เกริ่นไปเรื่อย
&lt;/h4&gt;




&lt;p&gt;บทนี้อาจจะดูวุ่นวายนิดหน่อยครับ แต่ไม่ปัญหาที่เราจะติดอะไร เพราะบทนี้จะใช้พื้นฐาน ในการสร้าง สรา้ง &lt;/p&gt;

&lt;p&gt;&lt;code&gt;class&lt;/code&gt;&lt;br&gt;
&lt;code&gt;method&lt;/code&gt;&lt;br&gt;
&lt;code&gt;getter&lt;/code&gt;&lt;br&gt;
&lt;code&gt;setter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;เราจะเริ่มต่อจากบทที่เเล้ว ที่เราเตรียมไว้นะครับ &lt;/p&gt;

&lt;h4&gt;
  
  
  สิ่งที่เราต้องสร้างไว้ มีตามนี้ครับ
&lt;/h4&gt;

&lt;p&gt;Entity หรือ POJO 1 ตัวครับ คือตัวที่เอาไว้ทำการ map กับ table ใน Database &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Employee.java&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Service เอาไว้ทำเกี่ยวกับพวก create ,update ,find ,delete&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CreateEmployee.java&lt;/li&gt;
&lt;li&gt;DeleteEmployee.java&lt;/li&gt;
&lt;li&gt;FindEmployee.java&lt;/li&gt;
&lt;li&gt;UpdateEmployee.java&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Persistence คือ เราจะเรียกให้เข้าง่าย ๆ วันมันคือไฟล์ที่เอาใช้ config สิ่งต่างๆ คล้ายๆไฟล์ poperties โดยปกติจะมีอยู่แล้วใน &lt;code&gt;META-INF&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Persistence.xml&lt;/li&gt;
&lt;/ul&gt;




&lt;h4&gt;
  
  
  จะได้หน้าตา ประมาณนี้
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fynzakmbdaf8oit2heyq8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fynzakmbdaf8oit2heyq8.PNG" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  วิธีสร้าง
&lt;/h3&gt;

&lt;p&gt;ความจริงเราสร้างตามที่ตัวเองถนัดได้เลยนะ แต่ถ้าเอาตามผม ก็ดูตัวอย่างตามด้านล่างนี้ครับ&lt;br&gt;
1.สร้าง Pacakage ขึ้นมาก่อน &lt;/p&gt;

&lt;p&gt;&lt;code&gt;คลิกขวาที่ src -&amp;gt; new --&amp;gt; Package&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ffi4n5dky2hydjslmfu8n.PNG" alt="alt text"&gt;
&lt;/h2&gt;

&lt;p&gt;2.ตั้งชื่อ package &lt;br&gt;
ตัวอย่าง &lt;code&gt;com.ชื่อโปรเจค.ชื่อสำหรับบอกการใช้งาน&lt;/code&gt; เป็น pattern ของผมเอง แต่มันไม่ได้ตายตัวนะ  เราสามารถสร้างตามที่เราเข้าใจ ได้เลย มันก็จะได้น่าตาประมาณนี้&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Few6htbjjxoh9viy82v4o.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Few6htbjjxoh9viy82v4o.PNG" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;สร้าง class 
&lt;code&gt;คลิกขวาที่ ชื่อ package ที่เราสร้างไว้ -&amp;gt; new --&amp;gt; class&lt;/code&gt;
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6x0ie1vndb7afd6tlu19.PNG" alt="alt text"&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h5&gt;
  
  
  สังเกตดู
&lt;/h5&gt;

&lt;p&gt;&lt;code&gt;Package : มันจะชี้ไปที่ๆเราสร้างไว้ เพื่อบอกว่า class ที่เรากำลังสร้างอยู่ตอนนี้จะอยู่ภายใต้ package นี้&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Name : คือชื่อ class ที่เราจะตั้ง&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7ss8uwhwo79gxp6akbg8.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F7ss8uwhwo79gxp6akbg8.PNG" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;4.เหลือ Package สำหรับ Service ละในนั้นก็จะมี 4 class ตามรูปภาพด้านล่างนี้  เราลองสร้างกันดูเองนะ&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6ltro6qzqjtb3dl4ku4m.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F6ltro6qzqjtb3dl4ku4m.PNG" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>jpa</category>
      <category>java</category>
      <category>mysql</category>
    </item>
    <item>
      <title>set Enviroment JPA แบบบ้านๆ</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Mon, 09 Jul 2018 17:33:50 +0000</pubDate>
      <link>https://dev.to/slumboy/set-enviroment-jpa--3i9d</link>
      <guid>https://dev.to/slumboy/set-enviroment-jpa--3i9d</guid>
      <description>&lt;h5&gt;
  
  
  เกริ่นพอเข้าใจ
&lt;/h5&gt;

&lt;p&gt;บทนี้เป็นการ เตรียมทรัพยากรต่าง ๆ เพื่อที่เราจะเริ่มทำความเข้าใจกับพื้นฐานของคุณ JPA มากขึ้นเพื่อต่อยอดได้นะครับ&lt;br&gt;
( &lt;code&gt;ความจริง เราสามารถสร้างพร้อมกับ สร้างโปรเจคได้เลย ตามตัวอย่าง spring-boot + jpa ที่มีเยอะแยะตามเว็บครับ&lt;/code&gt;) ในบทนี้เลยจะแยกเอามาแต่ JPA เพียวๆ ( เขียน code java บ้างนิดหน่อยครับ )&lt;/p&gt;




&lt;h4&gt;
  
  
  สิ่งที่ความ set ไว้ให้เรียบร้อย
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;JAVA_HOME&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.java2s.com/Code/Jar/c/Downloadcommysqljdbc515jar.htm" rel="noopener noreferrer"&gt;Link driver connect mysql&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h5&gt;
  
  
  1 สร้างโปรเจคใหม่ขึ้นมาครับ (น่าจะไม่ยากนะครับ ^_^)
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9dv7bn23a450l3j97tg0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9dv7bn23a450l3j97tg0.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  2 ทำตามรูปภาพเลยนะครับ (ถ้าติดปัญหา comment มาถามได้ครับ)
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1c59s63hu6cd4iizyh0w.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1c59s63hu6cd4iizyh0w.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;*1 : ตั้งชื่อ project ครับ&lt;/code&gt;&lt;br&gt;
   &lt;code&gt;*2 : เลือกตัวรันครับ ของผมใช้ jre1.8&lt;/code&gt;&lt;br&gt;
   &lt;code&gt;*3 : กด next&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  3 จากขั้นตอนที่ 2 ถ้าไม่มีปัญหาอะไรก็จะได้ หน้าเเบบนี้ครับ
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw7zyw7fsqwc6arhlurnk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fw7zyw7fsqwc6arhlurnk.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  4 หากเราไม่มีตัว library เขาก็จะไม่ยอมให้เราผ่าน เราก็ไปโหลดมาครับ กดปุ่มเล็กๆ ตามรูปครับ
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F2yjz3ik9kmgzmnwcz6o2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F2yjz3ik9kmgzmnwcz6o2.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  5 เลือก version ตามที่สะดวกครับ ส่วนตัวผมเลือก &lt;code&gt;ล่าสุด&lt;/code&gt;ครับ
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fa4w5ixb9mla8zp6efou7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fa4w5ixb9mla8zp6efou7.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  6 เหมือนกับติดตั้งโปรแกรมปกติครับ ติก accept (โกหกว่าอ่านจบและยอมรับบาป เพื่อไปต่อ^_^ )
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fql9lct2p0zkkeog2cpgp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fql9lct2p0zkkeog2cpgp.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;code&gt;*1 : ยอมรับบาปทุก กรณี&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*2 : ฉันได้สิ่งที่ต้องการ เราจบกัน&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  7 อาจจะยังมีเยื่อใย แต่เราจบกันได้ครับ (เริ่มนอกเรื่อง เอาเป็นว่าทำตามรูปนะครับ)
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff7cmtap9vb6tirmtkip0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff7cmtap9vb6tirmtkip0.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;*1 เราเลิกกัน ฉันดีเกินคน เชอะ~!&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  8 ถ้ามาถึงขั้นตอนนี้แล้วมียังเยื่อใย อ้าว ¬ _ ¬ &lt;code&gt;warning !!&lt;/code&gt; ไม่เป็นไรครับ
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fpah1ktp7ro4ayn4f8cz5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fpah1ktp7ro4ayn4f8cz5.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  9 ต่อมา เราก็ไป add mysql connector เข้ามาครับ เพื่อจะทำอะไรสักอย่างเกี่ยวกับ DB
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fv4c6y212twxh54kqwz63.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fv4c6y212twxh54kqwz63.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  10 ให้รูปภาพ ทำงานบ้าง
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fnjjp7ph7mxn4c93n3tjn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fnjjp7ph7mxn4c93n3tjn.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;*1 : เลือกแท็ป Java Build path&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*2 : เลือกแท็ป library ดูให้ดีๆนะครับ หลายครั้งที่เรามักเข้าใจผิด เเล้วหาไม่เจอ&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*3 : เลือก Add External JARs ที่เลือกตรงนี้ เพราะว่าเรา ไปโหลด mysql connector .jar มาเก็บไว้ที่เครื่องครับ&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Add คือ เพิ่ม&lt;/code&gt;&lt;br&gt;
&lt;code&gt;External คือ จากเครื่องเราเอง&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Jars คือ ไฟล์นามสกุล .jar&lt;/code&gt;&lt;/p&gt;




&lt;h5&gt;
  
  
  11 เลือกไฟล์ MySql Connector ที่เราโหลดมา
&lt;/h5&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqrvvhvn53n65nhvlc20l.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fqrvvhvn53n65nhvlc20l.jpg" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;*1 : ตอนโหลดมา เก็บไว้ที่ไหนก็ชี้ไปที่นั้นละครับ แตกไฟล์ก่อนด้วยนะ&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*2 : แล้วก็เลือกซะ&lt;/code&gt;&lt;/p&gt;




</description>
      <category>jpa</category>
    </item>
    <item>
      <title>พื้นฐาน JPA[ ep.2 ]</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Sat, 07 Jul 2018 12:34:20 +0000</pubDate>
      <link>https://dev.to/slumboy/-jpa-ep2--1913</link>
      <guid>https://dev.to/slumboy/-jpa-ep2--1913</guid>
      <description>&lt;h4&gt;
  
  
  เกริ่นไปเรื่อย
&lt;/h4&gt;




&lt;p&gt;การเขียนโปรแกรมติดต่อฐานข้อมูลด้วยภาษา Java ส่วนใหญ่พื้นฐานเราจะใช้ JDBC ในการติดต่อ นอกจาก JDBC แล้วบางคนก็อาจจะใช้ Framework หรือ API ประเภท ORM (Object Relation Mapping) ถึงตรงนี้แล้วบางคนอาจสงสัยว่า ORM คืออะไร เอาง่ายๆ เลยนะคับ ORM คือเครื่องมือที่ช่วยให้เราสามารถมองฐานข้อมูลเป็น Object ถ้าเราแก้ไขข้อมูลใน Object ก็จะท าให้ข้อมูลในฐานข้อมูลมีการเปลี่ยนแปลง เหมือนกับการใช้ SQL Command ตรงๆ&lt;/p&gt;




&lt;p&gt;ยกตัวอย่างเช่น เรามีตารางฐานข้อมูล เก็บข้อมูลลูกค้าตามรูปข้างล่าง(1) หากเรามองเป็น Object เรามักจะเขียน Code (2) ประมาณนี้&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1z9a1yqa5anw1jsffqq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1z9a1yqa5anw1jsffqq.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;ซึ่งถ้าเป็น ORM เราสามารถสร้าง Record ใหม่ด้วยการ New Instance ของ Object Employee และสั่งให้ Framework หรือ API ทำการสร้าง Record ได้เลย โดยที่ไม่ต้องเขียน Statement Insert เหมือนใน JDBC ที่พูดมายืดยาวก็เพื่อให้พอเห็นภาพของ ORM โดยเจ้าตัว ORM นี้ใน Java ก็มีด้วยกันหลายตัวเช่น Hibernate , JPA (Java Persistence API) , … etc.&lt;/p&gt;




&lt;h5&gt;
  
  
  สำหรับในวันนี้จะขอพูดถือตัว JPA
&lt;/h5&gt;

&lt;p&gt;JPA ย่อมาจาก Java Persistence API เป็น API มาตรฐานตัวหนึ่งที่อยู่ใน Technology Java EE ใช้สำหรับการทำ ORM วิธีการสร้างหรือการใช้งานก็ไม่ยุ่งยาก โดยขอแบ่งเป็นขั้นตอนง่ายๆ ดังนี้&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;ทำการสร้าง Object เพื่อ Mapping ตารางหรือ Field ต่างๆ ในฐานข้อมูล&lt;/li&gt;
&lt;li&gt;ทำการเขียน Configuration ไฟล์สำหรับการเชื่อมฐานข้อมูลในไฟล์ persistence.xml&lt;/li&gt;
&lt;li&gt;ใช้งาน Object ผ่านทาง Entity Manager&lt;/li&gt;
&lt;/ol&gt;




&lt;ol&gt;
&lt;li&gt;ทำการสร้ำง Object เพื่อ Mapping ตารางหรือ Field ต่างๆ ในฐานข้อมูล
ขั้นตอนการทำ Object Mapping คือการที่เราเอาทำการเขียน Object ให้มีความสัมพันธ์กับฐานข้อมูลโดยมีรายละเอียดดังนี้&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;@Entity&lt;br&gt;
ใช้สำหรับกำหนด Class ที่จะ Map กับตารางในฐานข้อมูล&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn61ttmikzm3lrdmj1ldb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn61ttmikzm3lrdmj1ldb.png" alt="alt text"&gt;&lt;/a&gt;&lt;br&gt;
    *กรณีไม่กำหนดชื่อตาราง  ชื่อ Entity นั้นๆ จะหมายถึงชื่อตารางในฐานข้อมูล&lt;/p&gt;




&lt;p&gt;@Table&lt;br&gt;
ใช้สำหรับกำหนดชื่อตารางฐานข้อมูลที่ Map กับ Class ที่เราสร้าง&lt;br&gt;
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhadbavg7dp01abfb988q.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhadbavg7dp01abfb988q.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/id"&gt;@id&lt;/a&gt; และ @GeneratedValue&lt;br&gt;
ใช้สำหรับกำหนด Field ที่เป็น Primary Key กรณีที่เป็น id ประเภท Auto Generate จะใช้     @GeneratedValue&lt;br&gt;
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmggu53733rk15r364so3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmggu53733rk15r364so3.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;@Column&lt;br&gt;
ใช้สำหรับกำหนดชนิดของ column ของฐานข้อมูล เช่น&lt;br&gt;
  &lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lewufqajeq32f32r8sa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4lewufqajeq32f32r8sa.png" alt="alt text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>jpa</category>
      <category>java</category>
      <category>springboot</category>
    </item>
    <item>
      <title>พื้นฐาน JPA</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Fri, 06 Jul 2018 09:28:10 +0000</pubDate>
      <link>https://dev.to/slumboy/-jpa-5gn3</link>
      <guid>https://dev.to/slumboy/-jpa-5gn3</guid>
      <description>

&lt;h3&gt;
  
  
  หลักการสร้าง Entity Class
&lt;/h3&gt;




&lt;ol&gt;
&lt;li&gt;เป็น java class ตั้งชื่อว่าอะไรก็ได้ (ให้สื่อกับความหมายนั้นๆ)&lt;/li&gt;
&lt;li&gt;implements Serializable&lt;/li&gt;
&lt;li&gt;มี annotation @Entiry อยู่บน class&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entity Class ต้องมี default constructor ที่ไม่มี parameter เท่านั้น  เช่น &lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public Category(){ }
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ในกรณีที่ต้องการกำหนดค่าบางอย่างของ Table  ให้ใช้ annotation @Table  เช่น&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;การกำหนดชื่อให้ table จะใช้ attribute name
&lt;/li&gt;
&lt;li&gt;แต่ถ้าไม่ได้กำหนดชื่อ  default table name จะเป็นชื่อของ entity class นั้นๆ &lt;/li&gt;
&lt;li&gt;การตั้งชื่อ table ให้ระวังเรื่อง reserve word ของ database แต่ละเจ้า&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;กำหนด attribute จะต้องมี attribute อย่างน้อย 1 attribute ที่มี annotation @Id เพื่อบอกว่าเป็น primary key&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;มี method getter และ setter เพื่อ get และ set ค่าให้กับแต่ละ attribute&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ในการกำหนดค่า แต่ละ attribute หรือแต่ละ column ให้ใช้ annotation @Colum อยู่บน attribute นั้นๆ&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;การ map relationship ให้สร้าง attribute ที่มี data type เป็น Entity Class ที่ต้องการ map ด้วย จากนั้นก็ใส่ annotation Mapping ต่างๆ  ไว้บน attribute นั้นๆ เช่น&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@OneToOne
@OneToMany
@ManyToOne
@ManyToMany
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;หลักการคร่าวๆ มีประมาณนี้&lt;/p&gt;


</description>
      <category>jpa</category>
      <category>springboot</category>
    </item>
    <item>
      <title>Update npm &amp;&amp; node</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Mon, 28 May 2018 14:04:20 +0000</pubDate>
      <link>https://dev.to/slumboy/update-npm--node-mbp</link>
      <guid>https://dev.to/slumboy/update-npm--node-mbp</guid>
      <description>&lt;h3&gt;
  
  
  &lt;code&gt;i'm use deepin os&lt;/code&gt;
&lt;/h3&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;1.sudo npm cache clean -f &amp;amp;&amp;amp; npm install -g n&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;2.sudo n stable&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;3.wait a minute&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;4. Check node -v &amp;amp;&amp;amp; npm -v&lt;/code&gt;
&lt;/h4&gt;




&lt;p&gt;&lt;strong&gt;Bonus&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  you can check enviroment node and npm
&lt;/h3&gt;

&lt;h4&gt;
  
  
  npm doctor
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhkkyy23lkodv59vrc3nd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhkkyy23lkodv59vrc3nd.png" alt="Image of desktop"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>node</category>
      <category>npm</category>
      <category>ubuntu</category>
      <category>deepin</category>
    </item>
    <item>
      <title>Hello Dev.to</title>
      <dc:creator>slumboy</dc:creator>
      <pubDate>Sun, 20 May 2018 17:22:12 +0000</pubDate>
      <link>https://dev.to/slumboy/hello-devto-5eia</link>
      <guid>https://dev.to/slumboy/hello-devto-5eia</guid>
      <description>

</description>
      <category>firsttime</category>
    </item>
  </channel>
</rss>
