[JAVA] Jusqu'à l'utilisation de Spring Data et JPA Part 1

La difficulté de réglage est assez élevée.

Je pense que c'est une façon unique d'écrire Spring Framework, mais c'est un fichier de propriétés, un fichier xml et Java. Je pense que c'est un meurtre assez débutant, j'ai donc résumé l'utilisation de JPA.

Diviser les objectifs

    1. Ce dont vous avez juste besoin pour vous connecter avec SQL -Hibernate EntityManager bibliothèque ・ Bibliothèque JDBC Spring ・ Pilote de base de données Posture ou H2 · Dossier de propriété -Le fichier de configuration Bean (xml) JavaConfig n'est pas utilisé cette fois. Peut-être que ça va devenir déroutant
  1. De plus, ce qui est requis pour JPA ・ Bibliothèque JPA Spring Data ・ Classe d'entité · Fichier Persistence.xml (fonctionnalité Java EJB) -Fichier de configuration Bean (xml) -Classe d'exécution avec la méthode principale

Vérifiez la console pour voir si la requête est arrivée correctement dans la base de données. Utilisez sur le Web plus tard.

Connexion avec DB

Paramètres de la bibliothèque et du pilote

paramètres de pom.

Ajoutez à pom et ajoutez des dépendances. J'utilise Spring IO pratform, donc je ne décrirai pas la version!

pom.xml



		<!-- Hibernate -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-entitymanager</artifactId>
		</dependency>

		<!-- jdbc -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>
		
		<!-- postgresql database -->
		<dependency>
   			 <groupId>org.postgresql</groupId>
    		<artifactId>postgresql</artifactId>
		</dependency>


Après avoir dessiné, cliquez avec le bouton droit sur ** Maven → updateProject **

Créer un fichier de propriétés

Je donnerai à Spring des informations sur le pilote post-gray. Créez un fichier de propriétés de ** database.properties ** dans src / main / resource.

database.properties


jdbc.driverClassName=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/sample
jdbc.username=postgres
jdbc.password=password

S'il s'agit d'un article, il ressemble à ceci, selon la base de données que vous utilisez.

Créer un fichier de configuration de bean

Enregistrez le DataSource et le JdbcTemplate dans le conteneur DI. Créez ** bean.xml ** dans src / main / resource

Vous lisez la valeur du fichier de propriétés et vous l'enregistrez dans le bean.

bean.xml


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:jdbc="http://www.springframework.org/schema/jdbc"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
		http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
		http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">


	<!--Paramètres de la base de données intégrée>
	<jdbc:embedded-database id="dataSource" type="H2">
		<jdbc:script location="classpath:script.sql"/>
	</jdbc:embedded-database-->

	<!--Définition des propriétés de la base de données-->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	  	<property name="location" value="database.properties" />
	</bean>

	<!--Paramètres de connexion à la base de données-->
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
		<property name="driverClassName" value="${jdbc.driverClassName}" />
		<property name="url" value="${jdbc.url}" />
		<property name="username" value="${jdbc.username}" />
		<property name="password" value="${jdbc.password}" />
	</bean>

	<!--Créer un bean modèle JDBC-->
	<bean class="org.springframework.jdbc.core.JdbcTemplate">
		<constructor-arg ref="dataSource" />
	</bean>

Essayez de vous connecter

Sortons ceci de DI et exécutons-le Accédez à la base de données avec ** execute ** et ** queryForList ** de JdbcTemplate!

App.java


@Component
@ComponentScan
public class App {
	//private static JdbcTemplate jdbcTemplate;
	private static ApplicationContext context;
	private static JdbcTemplate jdbcTemplate;
	
	public static void main(String args[]) {
		
		//Créer un modèle à l'aide d'annotations
		//context = new AnnotationConfigApplicationContext(DataSourceConfig.class);
		//JdbcTemplate jdbcTemplate = (JdbcTemplate)context.getBean(JdbcTemplate.class);
		//Obtenez le contexte
		context = new ClassPathXmlApplicationContext("bean.xml");
		jdbcTemplate = context.getBean(JdbcTemplate.class);
	
		List<Map<String, Object>> list = jdbcTemplate
				.queryForList("SELECT * FROM mytable");
		
		for(Map<String, Object> obj : list) {
			System.out.println(obj);
		}
	
	}

}

Fais ça et regarde

image.png

En bas, vous pouvez voir que les colonnes ont été extraites de la base de données.

Suite à la partie 2

Recommended Posts

Jusqu'à l'utilisation de Spring Data et JPA Part 2
Jusqu'à l'utilisation de Spring Data et JPA Part 1
Vérifiez le comportement de getOne, findById et des méthodes de requête avec Spring Boot + Spring Data JPA
[Spring Data JPA] La condition And peut-elle être utilisée dans la méthode de suppression implémentée automatiquement?
Voir le comportement des mises à jour d'entités avec Spring Boot + Spring Data JPA
[Java] La partie déroutante de String et StringBuilder
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~
Créer la variable de clause where dans Spring Data JPA
L'histoire de la montée de Spring Boot de la série 1.5 à la série 2.1 part2
Modifier seulement une partie du texte
Spring Data JPA: écrivez une requête en Pure SQL dans @Query of Repository
Remarques sur l'utilisation de Spring Data JDBC
Memo of JSUG Study Group 2018 Partie 2-Efforts pour les spécifications de travail à l'ère du printemps et de l'API-
[Comment installer Spring Data Jpa]
Partie 4: Personnalisez le comportement de la connexion OAuth 2.0 prise en charge par Spring Security 5
Utilisez redirect_to et effectuez un rendu correctement
Ceci et cela de JDK
Filtrer les fluctuations des données brutes
Point 59: Connaître et utiliser les bibliothèques
Utilisation correcte de Mockito et PowerMock
La validation de printemps était importante dans l'ordre de Form et BindingResult
Sortie du journal Spring Data JPA SQL
Filtrer le résultat de BindingResult [Spring]
Créer une API REST avec Spring JPA Data avec REST et Lombok incroyablement facile.
Utilisez Spring Mobile pour déterminer le type d'appareil des smartphones, tablettes et ordinateurs personnels
[Spring Boot] Publiez des fichiers et d'autres données en même temps [Axios]
Ajouter @ManyToOne à une partie de la clé primaire composite dans Hibernate JPA
(Déterminez en 1 minute) Comment utiliser vide?, Vide? Et présent?
Comment modifier le nombre maximum et maximum de données POST dans Spark
Méthode d'implémentation pour source multi-données avec Spring boot (Mybatis et Spring Data JPA)
L'histoire de la rencontre avec l'annotation personnalisée Spring
OU rechercher avec la spécification Spring Data Jpa
Spring avec Kotorin --2 RestController et Data Class
Après 3 mois de formation Java et Spring
Existe en utilisant la spécification dans Spring Data JPA
Pliage et dépliage du contenu de la vue Recycleur
À propos de l'affichage initial de Spring Framework
Point 72: Favoriser l'utilisation d'exceptions standard
Quelle est la structure des données d'ActionText?
Utilisation correcte de l'interface et de la classe abstraite
Examiner le comportement du délai d'expiration des transactions JPA
Le contenu des données enregistrées par CarrierWave.
[Java] [Spring] Tester le comportement de l'enregistreur
Acquisition de données JSON et rotation des valeurs
J'ai reçu les données du voyage (application agenda) en Java et j'ai essayé de les visualiser # 001
Partie 2: Comprendre (approximativement) le flux de processus de la connexion OAuth 2.0 prise en charge par Spring Security 5
Obtenez le nom de classe et le nom de méthode du contrôleur exécuté par le HandlerInterceptor de Spring Boot
Exemple de code pour la recherche à l'aide de QBE (requête par exemple) de Spring Data JPA
Partie 3: Comprendre (en profondeur) le flux de processus de la connexion OAuth 2.0 prise en charge par Spring Security 5
Utilisez-vous l'instruction for après tout? Utilisez-vous l'instruction while? Utilisation correcte des instructions for et while
[Order method] Définit l'ordre des données dans Rails
Vérifiez la version de JDK installée et la version de JDK activée
Pensez à la combinaison de Servlet et Ajax
Jusqu'à l'acquisition de données avec Spring Boot + MyBatis + PostgreSQL
À propos du guide de démarrage officiel de Spring Framework
[Ruby on Rails] Jusqu'à l'introduction de RSpec
Comparez la vitesse de l'instruction for et de l'instruction for étendue.
Spring Data JPA save select-insert n'est qu'une insertion