[JAVA] Développement d'applications Web Spring Boot2 avec connexion Visual Studio Code SQL Server

introduction

Il s'agit de la version Spring Boot de l'application Web de connexion SQL Server créée avec ici.

environnement

OS:Windows 10 Pro 64bit DB:SQL Server 2019(Cent OS 8 on Hyper-V) Editor:Visual Studio Code 1.44.2 JDK:AdoptOpenJDK 11.0.6+10 x64

Création de modèle

Je l'ai créé avec les paramètres suivants dans spring initializr (https://start.spring.io/).

2020-05-05 (1).png

Développez le modèle créé vers "D: \ JAVA \ Project".

pom.xml Le JDBC de SQL Server est la version jre8, alors changez-le en version jre11. Ajoutez "mssql-jdbc.version" dans les propriétés. (Cela a fonctionné sans aucun changement, mais juste au cas où)

<properties>
	<java.version>11</java.version>
	<mssql-jdbc.version>8.2.2.jre11</mssql-jdbc.version>
</properties>

application.properties Décrivez les informations de connexion à la base de données.

application.properties


spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.url=jdbc:sqlserver://xxx:1433;databaseName=Training01;QuotedID=NO
spring.datasource.username=xxx
spring.datasource.password=xxx

Création d'entité

Créez une entité qui reçoit des données de la base de données.

D:\JAVA\Project\bootSample2\src\main\java\com\example\bootSample2\persistence
└─entity
  └─ProductsMaster.java

ProductsMaster.java


package com.example.bootSample2.persistence.entity;

import lombok.Data;

@Data
public class ProductsMaster {
    private String ProductsCode;
    private String ProductsName;
    private Integer UnitPrice;

    public ProductsMaster() {}

    public ProductsMaster(
        String ProductsCode,
        String ProductsName,
        Integer UnitPrice
        ) {
            this.ProductsCode = ProductsCode;
            this.ProductsName = ProductsName;
            this.UnitPrice = UnitPrice;
        }
}

créer un référentiel

Créez un référentiel qui se connecte à la base de données et émet des instructions SQL.

D:\JAVA\Project\bootSample2\src\main\java\com\example\bootSample2\persistence
└─repository
  ├─ProductsMasterRepository.java
  └─ProductsMasterRepositoryImpl.java

ProductsMasterRepository.java


package com.example.bootSample2.persistence.repository;

import java.util.List;

import com.example.bootSample2.persistence.entity.ProductsMaster;

public interface ProductsMasterRepository {
    List<ProductsMaster> productsMasterList();
}

ProductsMasterRepositoryImpl.java


package com.example.bootSample2.persistence.repository;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Repository;

import com.example.bootSample2.persistence.entity.ProductsMaster;

@Repository
public class ProductsMasterRepositoryImpl implements ProductsMasterRepository {
	@Autowired
    NamedParameterJdbcTemplate jdbcTemplate;

	@Override
	public List<ProductsMaster> productsMasterList() {
		String sql = "SELECT * FROM ProductsMaster ORDER BY ProductsCode;";

        List<ProductsMaster> pMList = jdbcTemplate.query(sql,
                (rs, rowNum) -> new ProductsMaster(
                        rs.getString("ProductsCode"),
                        rs.getString("ProductsName"),
                        rs.getInt("UnitPrice")
                        )
                );

        return pMList;
	}
}

création de service

Créez un service qui sera la logique métier.

D:\JAVA\Project\bootSample2\src\main\java\com\example\bootSample2
└─service
  ├─ProductsMasterService.java
  └─ProductsMasterServiceImpl.java

ProductsMasterService.java


package com.example.bootSample2.service;

import java.util.List;

import com.example.bootSample2.persistence.entity.ProductsMaster;

public interface ProductsMasterService {
    List<ProductsMaster> productsMasterList();
}

ProductsMasterServiceImpl.java


package com.example.bootSample2.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.example.bootSample2.persistence.entity.ProductsMaster;
import com.example.bootSample2.persistence.repository.ProductsMasterRepository;

@Service
public class ProductsMasterServiceImpl implements ProductsMasterService {
	@Autowired
	ProductsMasterRepository productsMasterRepository;

	@Override
	public List<ProductsMaster> productsMasterList() {
		List<ProductsMaster> pMList = productsMasterRepository.productsMasterList();

        return pMList;
	}
}

création de formulaire

Créez un formulaire qui reçoit les valeurs d'entrée / sortie dans la vue.

D:\JAVA\Project\bootSample2\src\main\java\com\example\bootSample2\web
└─form
  └─ProductsMasterForm.java

ProductsMasterForm.java


package com.example.bootSample2.web.form;

import java.util.List;

import com.example.bootSample2.persistence.entity.ProductsMaster;

import lombok.Data;

@Data
public class ProductsMasterForm {
	private List<ProductsMaster> pmList;
}

Créer un contrôleur

D:\JAVA\Project\bootSample2\src\main\java\com\example\bootSample2\web
└─controller
  └─ProductsMasterController.java

ProductsMasterController.java


package com.example.bootSample2.web.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.RequestMapping;

import com.example.bootSample2.service.ProductsMasterService;
import com.example.bootSample2.web.form.ProductsMasterForm;

@Controller
@RequestMapping("/productsMaster")
public class ProductsMasterController {
	@Autowired
	ProductsMasterService productsMasterService;

	@GetMapping("/index")
	public String indexGet(Model model) {
		ProductsMasterForm productsMasterForm = new ProductsMasterForm();
		productsMasterForm.setPmList(productsMasterService.productsMasterList());

		model.addAttribute("productsMasterForm", productsMasterForm);
		return "productsMaster/index";
	}

}

RootController.java


package com.example.bootSample2.web.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class RootController {
    @GetMapping("/")
    public String root() {
    	return "redirect:productsMaster/index";
    }
}

création de vue

Créez un dossier "productsMaster" dans "D: \ JAVA \ Project \ bootSample2 \ src \ main \ resources \ templates ". Créez index.html dans le dossier productsMaster.

D:\JAVA\Project\bootSample2\src\main\resources\templates
└─productsMaster
  └─index.html

index.html


<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">

<head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Spring5 MVC sqlSample01</title>
</head>
<body>
    <h1>Hello Spring Products List</h1>
    <table border="1">
		<thead>
			<tr>
				<th>Code produit</th>
				<th>nom du produit</th>
				<th>Prix unitaire</th>
			</tr>
		</thead>
		<tbody>
			<tr th:each="pm : ${productsMasterForm.pmList}" th:object="${pm}">
		    	<td th:text="*{ProductsCode}"></td>
		    	<td th:text="*{ProductsName}"></td>
		        <td th:text="*{UnitPrice}"></td>
			</tr>
		</tbody>
	</table>
</body>
</html>

Contrôle de fonctionnement

Appuyez sur la touche "F5" pour exécuter. http://localhost:8080/ Veuillez accéder. Assurez-vous que vous êtes automatiquement redirigé vers [http: // localhost: 8080 / productsMaster / index](http: // localhost: 8080 / productsMaster / index).

C'est OK si la page suivante est affichée. springbootsql1.jpg

Cette source d'échantillon

Téléchargé sur GitHub. https://github.com/t-skri1/SpringSample04

Résumé

Le contenu de la source reste le même, seule la structure hiérarchique et l'emplacement de la vue sont différents de ceux non-Boot. L'autre différence est

Sera.

DevTool a été ajouté, vous pouvez donc déployer à chaud. C'est très pratique.

Recommended Posts

Développement d'applications Web Spring Boot2 avec connexion Visual Studio Code SQL Server
Développement d'applications Web Spring5 MVC avec connexion Visual Studio Code SQL Server
Développement d'applications Web Spring Boot2 avec création de Visual Studio Code Hello World
Développement d'applications Web Spring 5 MVC avec Visual Studio Code Utilisation de Spring Security 1/3 [Préparation]
Développement d'applications Web Spring5 MVC avec création de modèles Visual Studio Code Maven
Développement d'applications Web Spring 5 MVC avec Visual Studio Code Utilisation de Spring Security 2/3 [Création de page 1/2]
Développement d'applications Web Spring 5 MVC avec Visual Studio Code Utilisation de Spring Security 3/3 [Création de page 2/2]
Démarrez le développement d'applications Web avec Spring Boot
Développement d'applications Web Spring5 MVC avec Visual Studio Code Hello World Creation
Développement d'applications Web Spring5 MVC avec construction de l'environnement de code Visual Studio (installation de JDK11 / Maven / Tomcat / Visual Studio Code)
Créer un environnement de développement Web APP avec Java + Spring avec Visual Studio Code
Exécutez l'application WEB avec Spring Boot + Thymeleaf
Créer un serveur API Web avec Spring Boot
Créer un environnement de développement de programme Java avec Visual Studio Code
[Spring Boot] Création d'applications Web
Construction d'environnement de développement d'applications Web Java avec VS Code (struts2)
Application Spring Boot qui spécifie les paramètres de connexion à la base de données avec des paramètres
Utiliser PlantUML avec Visual Studio Code
Développement d'applications Spring Boot dans Eclipse
Points de révision du code de l'application Spring Boot
Déploiement à chaud avec le développement Spring Boot
Programmation Spring Boot avec VS Code
Créer une application d'enquête avec Spring Boot
Implémentez un serveur API Web REST simple avec Spring Boot + MySQL
Créons une application Web de gestion de livres avec Spring Boot part1
Créons une application Web de gestion de livres avec Spring Boot part3
Créons une application Web de gestion de livres avec Spring Boot part2
Traitement lors du démarrage d'une application avec Spring Boot
Essayez d'utiliser Spring Boot avec VS Code
Lancez l'application Nginx + Spring Boot avec docker-compose
Un enregistrement de la configuration d'un environnement de développement Java avec Visual Studio Code
WAR l'application WEB par Spring Boot et la déployer sur le serveur Tomcat
Coexistence de Flyway dans la base de données embarquée (h2) de l'environnement de développement et la base de données des versions (SQL Server) avec Spring Boot
[Spring Boot] Précautions lors du développement d'une application Web avec Spring Boot et du placement d'une guerre sur un serveur Tomcat indépendant
Découvrez .NET 5 avec Docker et Visual Studio Code
Configurer l'application Spring Boot avec le module multiple maven
J'ai essayé de cloner une application Web pleine de bugs avec Spring Boot
Créer un environnement Spring Boot avec Windows + VS Code
Créer un environnement de développement Spring Boot avec docker
Créez un serveur Spring Cloud Config en toute sécurité avec Spring Boot 2.0
De la création d'un projet Spring Boot à l'exécution d'une application avec VS Code
Ce à quoi j'étais accro lors du développement d'une application Spring Boot avec VS Code
Prise en main des programmes Java à l'aide de Visual Studio Code
Essayez d'utiliser OpenID Connect avec Keycloak (application Spring Boot)
Pourquoi pouvez-vous développer Java avec Visual Studio Code?
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 1
À peu près le flux de développement d'applications Web avec Rails.
Jusqu'à ce que vous commenciez à développer avec Spring Boot dans eclipse 2
Disponibilité de l'application Spring Boot 2.3
Télécharger avec Spring Boot
Mémo de développement d'applications Web avec MVN, Tomcat, JSP / Servlet avec VScode
Implémenter l'API REST avec Spring Boot et JPA (Application Layer)
La première application WEB avec Spring Boot-Making a Pomodoro timer-
Découpez SQL en fichier de propriété avec jdbcTemplate of spring boot
Exemple d'application Web qui gère plusieurs bases de données avec Spring Boot 1.5
Essayez d'utiliser l'API de recherche de code postal avec Spring Boot
Présentation de Spring Boot2, un framework Java pour le développement Web (pour les débutants)
Développement piloté par domaine avec Java et Spring Boot-Layer et division de modules
[Java] Exemple de projet de développement d'applications Web avec Spring Boot