[JAVA] Erstellen Sie eine App mit Spring Boot 2

Fortsetzung des letzten Males. https://qiita.com/YJ2222/items/8c29fc7fc2d886a9b35e

Dateierstellung

-Erstellen Sie die erforderlichen Dateien. Erstellen Sie anhand des folgenden Bildes und "Erläuterung jeder Datei".  1.png

-Beschreibung jeder Datei.

Schreiben Sie den Code in die erstellte Datei.

templates/userResult.html



<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"></meta>
    <title>User</title>
</head>
<body>
    <h1>UserResult</h1>
    <table>
        <tr>
        	<!-- th:Text kann mit der Funktion von thymeleaf getAttribute erhalten.-->>
            <td>ID:</td><td th:text="${id}"></td>
        </tr>
        <tr>
            <td>Spitzname:</td><td th:text="${nickname}"></td>
        </tr>
    </table>
<body>
</html>

controller/UserController.java



package com.ex1.Controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.ex1.model.User;
import com.ex1.model.UserFindLogic;

@Controller
public class UserController {
	
	@Autowired //Abhängigkeitsspritze.
	private UserFindLogic userFindLogic;

	@GetMapping("/")
	    public String getUser() {
	        return "user";
    }
	// user.Bearbeitung von Post aus HTML.@Holen Sie sich den Wert des Namens mit RequestParam.
	@PostMapping("/user/db")
	public String postDbRequest(@RequestParam("text") String str, Model model) {
		
		int id = Integer.parseInt(str); //Zeichenkettenkonvertierung.
		//Ohne neues UserFindLogic@Da die Abhängigkeit von Autowired eingefügt wird, kann UserFindLogic als Benutzertyp ausgeführt werden.
        User user = userFindLogic.findUser(id); // UserFindLogic.Führen Sie die findUser-Methode von Java aus.
        // UserFindLogic.Führen Sie die folgenden Schritte aus, nachdem Sie den Rückgabewert von Java erhalten haben.
        model.addAttribute("id", user.getUserId()); //SetAttribute-Benutzerinformationen.
        model.addAttribute("nickname", user.getNickName());
        
        return "userResult"; // userResult.Weiterleiten an HTML.
    }
	
}


model/UserFindLogic.java



package com.ex1.model;

import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ex1.dao.UserDAO;

@Service //Anmerkung zur Geschäftslogik.
public class UserFindLogic {
	
	@Autowired
	private UserDAO userDAO;
	
	public User findUser(int id) { //Führen Sie die Methode gemäß den Anweisungen der Steuerung aus.
		
		Map<String, Object> map = userDAO.findUser(id); //Führen Sie findUser von UserDAO aus.
		//Empfangen Sie eine Benutzervariable von DAO.
        int userId = (Integer) map.get("user_id"); //Zerlegen Sie die empfangene Variable mit map.Informationen erhalten mit get.
        String nickName = (String) map.get("nickname");

		User user = new User(); //Benutzerinstanz erstellen (Benutzer.java)
		user.setUserId(userId); //Setter ausführen.
		user.setNickName(nickName);
				
		return user; //Gibt die Benutzerinstanz als Rückgabewert an den Controller zurück.
	}
}


model/User.java



package com.ex1.model;

public class User {
	private int userId;
    private String nickName;    
    
    public void setUserId(int userId) {
    	this.userId = userId;
    }
    
    public void setNickName(String nickName) {
    	this.nickName = nickName;
    }
    
    public int getUserId() {
    	return userId;
    }
    
    public String getNickName() {
    	return nickName;
    }
}

dao/UserDAO.java



package com.ex1.dao;

import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;

@Repository //Eine Anmerkung zur DAO-Klasse.
public class UserDAO {
	@Autowired 
    private JdbcTemplate jdbcTemplate; //Eine Instanz, die mit DB verbunden werden kann.

    public Map<String, Object> findUser(int id) { // UserFindLogic.Führen Sie die Methode gemäß den Anweisungen von Java aus.

        //Generieren Sie die SELECT-Anweisung
        String query = "SELECT "
                + " * "
                + "FROM account "
                + "WHERE user_id=?";

        //Führen Sie SQL für DB mit der Funktion jdbcTemplate aus.
        Map<String, Object> user = jdbcTemplate.queryForMap(query, id);

        return user; //UserFindLogic für das obige Verarbeitungsergebnis.Kehren Sie als Rückgabewert zu Java zurück.
    }
}

templates/userResult.html



<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8"></meta>
    <title>User</title>
</head>
<body>
    <h1>UserResult</h1>
    <table>
        <tr>
            <td>ID:</td><td th:text="${id}"></td>
        </tr>
        <tr>
            <td>Spitzname:</td><td th:text="${nickname}"></td>
        </tr>
    </table>
<body>
</html>

src/main/resources/application.properties



spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.driver-class-name=org.h2.Driver
spring.datasouce.username=sa
spring.datasouce.password=
spring.datasource.sql-script-encoding=UTF-8
spring.h2.console.enabled=true
spring.datasource.initialize=true
spring.datasource.schema=classpath:schema.sql
spring.datasource.data=classpath:data.sql

src/main/resources/data.sql



INSERT INTO account (user_id, nickname, password) VALUES (1, 'user1', 'user1+');

src/main/resources/schema.sql



CREATE TABLE IF NOT EXISTS account (
    user_id INT PRIMARY KEY,
    nickname VARCHAR(50),
    password VARCHAR(50)
);

-Der Prozessablauf ist leicht vorstellbar, wenn Sie sich auf den Kommentarbereich des Codes und das Bild unten beziehen. 3.png

das ist alles. Jetzt können Sie sogar eine Verbindung zur Datenbank in Ihrer lokalen Umgebung herstellen.

Recommended Posts

Erstellen Sie eine App mit Spring Boot 2
Erstellen Sie eine App mit Spring Boot
Erstellen Sie mit Spring Boot einen Mikrodienst
Erstellen Sie mit Spring Boot eine einfache Such-App
Erstellen Sie Restapi mit Spring Boot (bis zum Ausführen der App)
Mit Spring Boot herunterladen
Erstellen Sie eine Website mit Spring Boot + Gradle (jdk1.8.x)
Erstellen Sie eine CRUD-App mit Spring Boot 2 + Thymeleaf + MyBatis
Erstellen Sie Ihr eigenes Dienstprogramm mit Thymeleaf mit Spring Boot
Erstellen Sie eine Spring Boot-Umgebung mit Windows + VS-Code
Erstellen Sie einen Web-API-Server mit Spring Boot
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Erstellen Sie mit Spring Boot 2.0 einen Spring Cloud Config Server mit Sicherheit
Erstellen Sie mit dem Befehl cURL + tar ein Spring Boot-App-Entwicklungsprojekt
Generieren Sie mit Spring Boot einen Barcode
Hallo Welt mit Spring Boot
Beginnen Sie mit Spring Boot
Hallo Welt mit Spring Boot!
Führen Sie LIFF mit Spring Boot aus
SNS-Login mit Spring Boot
Datei-Upload mit Spring Boot
Spring Boot beginnt mit dem Kopieren
Spring Boot beginnend mit Docker
Hallo Welt mit Spring Boot
Setzen Sie Cookies mit Spring Boot
Verwenden Sie Spring JDBC mit Spring Boot
Modul mit Spring Boot hinzufügen
Erste Schritte mit Spring Boot
[Spring Boot] Senden Sie eine E-Mail
Mail mit Spring Boot verschicken
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
Hallo Welt (Konsolen-App) mit Apache Camel + Spring Boot 2
Erstellen Sie mit JAVA eine unveränderliche Klasse
Verwenden Sie die Standardauthentifizierung mit Spring Boot
gRPC auf Spring Boot mit grpc-spring-boot-Starter
Hot Deploy mit Spring Boot-Entwicklung
Datenbankverknüpfung mit doma2 (Spring Boot)
Spring Boot Programmierung mit VS Code
Bis "Hallo Welt" mit Spring Boot
Erstellen Sie eine Anfrage-App mit Spring Boot
Erhalten Sie Validierungsergebnisse mit Spring Boot
Erstellen Sie eine Hello World-Webanwendung mit Spring Framework + Jetty
Erstellen Sie eine Excel-Datei mit poi
(Intellij) Hallo Welt mit Spring Boot
Google Cloud Platform mit Spring Boot 2.0.0
Erstellen Sie eine Befehlszeilen-App mit maven
Ich habe GraphQL mit Spring Boot ausprobiert
[Java] LINE-Integration mit Spring Boot
Beginnend mit Spring Boot 0. Verwenden Sie Spring CLI
Ich habe Flyway mit Spring Boot ausprobiert
Die Nachrichtenkooperation begann mit Spring Boot
Erstellen Sie eine App-Katalogsite mit CLI für Microsoft 365 mit Docker
Ich habe versucht, einen OAuth-Client mit Spring Boot / Security (LINE-Anmeldung) zu implementieren.
So erstellen Sie mit Spring Boot einen eigenen Controller, der / error entspricht
Stellen Sie sich die Spring Boot-App mit dem Jib-Maven-Plugin vor und starten Sie sie mit Docker
Verarbeitung beim Starten einer Anwendung mit Spring Boot
Erstellen einer Spring Boot-Entwicklungsumgebung in Vagrant
Lassen Sie uns eine Instanz mit .new selbst erstellen. .. ..