{"id":33041,"date":"2024-11-01T09:13:20","date_gmt":"2024-11-01T09:13:20","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=33041"},"modified":"2024-11-01T11:29:13","modified_gmt":"2024-11-01T11:29:13","slug":"spring-boot-backend-development-course-practicing-database-manipulation-with-sql-statements","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/33041\/","title":{"rendered":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements"},"content":{"rendered":"<p><body><\/p>\n<p>Spring Boot is a powerful framework for developing web applications based on Java. In this course, we will cover backend development using Spring Boot and learn how to manipulate databases using SQL statements.<\/p>\n<h2>Table of Contents<\/h2>\n<ul>\n<li>1. Introduction to Spring Boot<\/li>\n<li>2. Project Setup<\/li>\n<li>3. Database Integration<\/li>\n<li>4. Manipulating Data with SQL Statements<\/li>\n<li>5. Implementing CRUD<\/li>\n<li>6. Testing and Deployment<\/li>\n<li>7. Conclusion<\/li>\n<\/ul>\n<h2>1. Introduction to Spring Boot<\/h2>\n<p>Spring Boot is a lightweight application development framework based on the Spring framework. It simplifies configuration and helps to easily build stand-alone applications.<\/p>\n<p>Characteristics of Spring Boot include:<\/p>\n<ul>\n<li>Auto Configuration<\/li>\n<li>Embedded Web Server<\/li>\n<li>Production Ready<\/li>\n<\/ul>\n<h2>2. Project Setup<\/h2>\n<p>The best way to create a Spring Boot project is to use the Spring Initializr website. Here, you can enter project metadata and add the necessary dependencies.<\/p>\n<pre><code>1. Visit Spring Initializr: https:\/\/start.spring.io\/\n2. Select Project: Maven Project or Gradle Project\n3. Language: Java\n4. Group: com.example\n5. Artifact: demo\n6. Dependencies: Spring Web, Spring Data JPA, H2 Database<\/code><\/pre>\n<h2>3. Database Integration<\/h2>\n<p>To integrate a database with Spring Boot, you need to set database information in the <code>application.properties<\/code> file.<\/p>\n<pre><code># H2 Database Configuration\nspring.h2.console.enabled=true\nspring.datasource.url=jdbc:h2:mem:testdb\nspring.datasource.driverClassName=org.h2.Driver\nspring.datasource.username=sa\nspring.datasource.password=password\nspring.jpa.database-platform=org.hibernate.dialect.H2Dialect<\/code><\/pre>\n<h2>4. Manipulating Data with SQL Statements<\/h2>\n<p>We will learn how to manipulate data in the database using SQL statements. Basic SQL statements include SELECT, INSERT, UPDATE, DELETE.<\/p>\n<h3>4.1 SELECT Statement<\/h3>\n<p>The SELECT statement is used to retrieve data from the database. For example, you can use the following query to retrieve all users:<\/p>\n<pre><code>SELECT * FROM users;<\/code><\/pre>\n<h3>4.2 INSERT Statement<\/h3>\n<p>The INSERT statement is used to add new data to the database. The following query adds a new user:<\/p>\n<pre><code>INSERT INTO users (username, email) VALUES ('testuser', 'test@example.com');<\/code><\/pre>\n<h3>4.3 UPDATE Statement<\/h3>\n<p>The UPDATE statement is used to modify existing data. An example of changing a specific user&#8217;s email is as follows:<\/p>\n<pre><code>UPDATE users SET email = 'newemail@example.com' WHERE username = 'testuser';<\/code><\/pre>\n<h3>4.4 DELETE Statement<\/h3>\n<p>The DELETE statement is used to delete data from the database. The query to delete a user is as follows:<\/p>\n<pre><code>DELETE FROM users WHERE username = 'testuser';<\/code><\/pre>\n<h2>5. Implementing CRUD<\/h2>\n<p>Implementing CRUD (Create, Read, Update, Delete) functionality is essential for database manipulation. We will set up Repository, Service, and Controller to implement CRUD in Spring Boot.<\/p>\n<h3>5.1 Repository<\/h3>\n<p>The Repository defines interactions with the database. Using JPA, you create an interface, and basic CRUD methods are automatically provided:<\/p>\n<pre><code>import org.springframework.data.jpa.repository.JpaRepository;\n\npublic interface UserRepository extends JpaRepository&lt;User, Long&gt; {\n    \/\/ Additional query methods can be defined here.\n}<\/code><\/pre>\n<h3>5.2 Service<\/h3>\n<p>The Service handles business logic. It injects the Repository to implement the necessary functionalities:<\/p>\n<pre><code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\n\n@Service\npublic class UserService {\n    @Autowired\n    private UserRepository userRepository;\n\n    public User createUser(User user) {\n        return userRepository.save(user);\n    }\n\n    \/\/ Add other CRUD methods\n}<\/code><\/pre>\n<h3>5.3 Controller<\/h3>\n<p>The Controller handles HTTP requests. It sets up appropriate endpoints to manage communication with the client:<\/p>\n<pre><code>import org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.web.bind.annotation.*;\n\n@RestController\n@RequestMapping(\"\/api\/users\")\npublic class UserController {\n    @Autowired\n    private UserService userService;\n\n    @PostMapping\n    public User createUser(@RequestBody User user) {\n        return userService.createUser(user);\n    }\n\n    \/\/ Add other CRUD endpoints\n}<\/code><\/pre>\n<h2>6. Testing and Deployment<\/h2>\n<p>Testing is essential for discovering and fixing bugs in the application. In Spring Boot, you can perform unit testing using JUnit.<\/p>\n<pre><code>import org.junit.jupiter.api.Test;\nimport static org.assertj.core.api.Assertions.assertThat;\n\npublic class UserServiceTest {\n    @Test\n    public void testCreateUser() {\n        \/\/ User creation test code\n    }\n}<\/code><\/pre>\n<h2>7. Conclusion<\/h2>\n<p>In this course, we explored backend development using Spring Boot and how to manipulate databases using SQL statements. Through this course, we hope you will be equipped to build practical web applications.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Spring Boot is a powerful framework for developing web applications based on Java. In this course, we will cover backend development using Spring Boot and learn how to manipulate databases using SQL statements. Table of Contents 1. Introduction to Spring Boot 2. Project Setup 3. Database Integration 4. Manipulating Data with SQL Statements 5. Implementing &hellip; <a href=\"https:\/\/atmokpo.com\/w\/33041\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[131],"tags":[],"class_list":["post-33041","post","type-post","status-publish","format-standard","hentry","category-spring-boot-backend-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/33041\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Spring Boot is a powerful framework for developing web applications based on Java. In this course, we will cover backend development using Spring Boot and learn how to manipulate databases using SQL statements. Table of Contents 1. Introduction to Spring Boot 2. Project Setup 3. Database Integration 4. Manipulating Data with SQL Statements 5. Implementing &hellip; \ub354 \ubcf4\uae30 &quot;Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/33041\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:13:20+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:29:13+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements\",\"datePublished\":\"2024-11-01T09:13:20+00:00\",\"dateModified\":\"2024-11-01T11:29:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/\"},\"wordCount\":407,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Spring Boot backend development\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/\",\"url\":\"https:\/\/atmokpo.com\/w\/33041\/\",\"name\":\"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:13:20+00:00\",\"dateModified\":\"2024-11-01T11:29:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/33041\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/33041\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/33041\/","og_locale":"ko_KR","og_type":"article","og_title":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Spring Boot is a powerful framework for developing web applications based on Java. In this course, we will cover backend development using Spring Boot and learn how to manipulate databases using SQL statements. Table of Contents 1. Introduction to Spring Boot 2. Project Setup 3. Database Integration 4. Manipulating Data with SQL Statements 5. Implementing &hellip; \ub354 \ubcf4\uae30 \"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements\"","og_url":"https:\/\/atmokpo.com\/w\/33041\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:13:20+00:00","article_modified_time":"2024-11-01T11:29:13+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"3\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/33041\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/33041\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements","datePublished":"2024-11-01T09:13:20+00:00","dateModified":"2024-11-01T11:29:13+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/33041\/"},"wordCount":407,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Spring Boot backend development"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/33041\/","url":"https:\/\/atmokpo.com\/w\/33041\/","name":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:13:20+00:00","dateModified":"2024-11-01T11:29:13+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/33041\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/33041\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/33041\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Spring Boot Backend Development Course, Practicing Database Manipulation with SQL Statements"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=33041"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33041\/revisions"}],"predecessor-version":[{"id":33042,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/33041\/revisions\/33042"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=33041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=33041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=33041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}