[JAVA] Bis zur Verwendung von Spring Data und JPA Part 1

Die Schwierigkeit beim Einstellen ist ziemlich hoch.

Ich denke, es ist eine einzigartige Art, Spring Framework zu schreiben, aber es ist eine Eigenschaftendatei, eine XML-Datei und Java. Ich denke, es ist ein ziemlich Anfänger-Mord, also habe ich die Verwendung von JPA zusammengefasst.

Ziele teilen

    1. Was Sie brauchen, um sich mit SQL zu verbinden -Hibernate EntityManager-Bibliothek ・ Spring JDBC-Bibliothek ・ Datenbanktreiber Haltung oder H2 · Eigenschaftendatei -Bean Konfigurationsdatei (xml) JavaConfig wird diesmal nicht verwendet. Vielleicht wird es verwirrend
  1. Darüber hinaus, was für JPA erforderlich ist ・ Spring Data JPA-Bibliothek ・ Entitätsklasse · Persistence.xml-Datei (Java EJB-Funktionalität) -Bean Konfigurationsdatei (XML) -Ausführungsklasse mit Hauptmethode

Überprüfen Sie die Konsole, um festzustellen, ob die Abfrage ordnungsgemäß in der Datenbank eingegangen ist. Später im Web verwenden.

Verbindung mit DB

Bibliotheks- und Treibereinstellungen

POM-Einstellungen.

Zu pom hinzufügen und Abhängigkeiten hinzufügen. Ich verwende die Spring IO-Plattform, daher werde ich die Version nicht beschreiben!

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>


Klicken Sie nach dem Zeichnen mit der rechten Maustaste auf ** Maven → updateProject **

Erstellen einer Eigenschaftendatei

Ich werde Spring Informationen über den postgrauen Treiber geben. Erstellen Sie eine Eigenschaftendatei von ** database.properties ** in src / main / resource.

database.properties


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

Wenn es sich um einen Beitrag handelt, sieht er je nach verwendeter Datenbank folgendermaßen aus.

Erstellen einer Bean-Konfigurationsdatei

Registrieren Sie die DataSource und JdbcTemplate im DI-Container. Erstellen Sie ** bean.xml ** in src / main / resource

Sie lesen den Wert aus der Eigenschaftendatei und registrieren ihn in der 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">


	<!--Einstellungen für eingebettete Datenbank>
	<jdbc:embedded-database id="dataSource" type="H2">
		<jdbc:script location="classpath:script.sql"/>
	</jdbc:embedded-database-->

	<!--Datenbankeigenschaften festlegen-->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	  	<property name="location" value="database.properties" />
	</bean>

	<!--Einstellungen für die DB-Verbindung-->
	<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>

	<!--Erstellen einer JDBC-Template-Bean-->
	<bean class="org.springframework.jdbc.core.JdbcTemplate">
		<constructor-arg ref="dataSource" />
	</bean>

Versuchen Sie tatsächlich eine Verbindung herzustellen

Nehmen wir dies aus DI heraus und führen es aus Greifen Sie mit ** execute ** und ** queryForList ** von JdbcTemplate auf die Datenbank zu!

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[]) {
		
		//Erstellen einer Vorlage mit Anmerkungen
		//context = new AnnotationConfigApplicationContext(DataSourceConfig.class);
		//JdbcTemplate jdbcTemplate = (JdbcTemplate)context.getBean(JdbcTemplate.class);
		//Kontext abrufen
		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);
		}
	
	}

}

Mach das und schau zu

image.png

Unten sehen Sie, dass die Spalten aus der Datenbank abgerufen wurden.

Fortsetzung von Teil 2

Recommended Posts

Bis zur Verwendung von Spring Data und JPA Part 2
Bis zur Verwendung von Spring Data und JPA Part 1
Überprüfen Sie das Verhalten von getOne-, findById- und Abfragemethoden mit Spring Boot + Spring Data JPA
[Spring Data JPA] Kann die And-Bedingung in der automatisch implementierten Löschmethode verwendet werden?
Sehen Sie sich das Verhalten von Entitätsaktualisierungen mit Spring Boot + Spring Data JPA an
[Java] Der verwirrende Teil von String und StringBuilder
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
Machen Sie die where-Klauselvariable in Spring Data JPA
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
Ändern Sie nur einen Teil des Textes
Spring Data JPA: Schreiben Sie eine Abfrage in Pure SQL in @Query of Repository
Hinweise zur Verwendung von Spring Data JDBC
Memo der JSUG-Studiengruppe 2018 Teil 2 - Bemühungen um Arbeitsspezifikationen im Frühjahr und in der API-Ära
[So installieren Sie Spring Data Jpa]
Teil 4: Passen Sie das Verhalten der von Spring Security 5 unterstützten OAuth 2.0-Anmeldung an
Verwenden Sie redirect_to und rendern Sie richtig
Dies und das von JDK
Filtern Sie die Schwankungen der Rohdaten
Punkt 59: Kennen und verwenden Sie die Bibliotheken
Ordnungsgemäße Verwendung von Mockito und PowerMock
Die Frühjahrsvalidierung war in der Reihenfolge von Form und BindingResult wichtig
Spring Data JPA SQL-Protokollausgabe
Filtern Sie das Ergebnis von BindingResult [Spring]
Das Erstellen einer REST-API mit Spring JPA-Daten mit REST und Lombok ist unglaublich einfach.
Verwenden Sie Spring Mobile, um den Gerätetyp von Smartphones, Tablets und PCs zu bestimmen
[Spring Boot] Poste Dateien und andere Daten gleichzeitig [Axios]
Fügen Sie @ManyToOne zu einem Teil des zusammengesetzten Primärschlüssels in Hibernate JPA hinzu
(In 1 Minute bestimmen) Wie verwende ich leer ?, Leer? Und präsent?
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
Implementierungsmethode für Multi-Datenquelle mit Spring Boot (Mybatis und Spring Data JPA)
Die Geschichte der Begegnung mit Spring Custom Annotation
ODER suchen Sie mit der Spring Data Jpa-Spezifikation
Feder mit Kotorin --2 RestController und Datenklasse
Nach 3 Monaten Java- und Frühlingstraining
Existiert mit der Spezifikation in Spring Data JPA
Ein- und Ausklappen des Inhalts der Recycler-Ansicht
Informationen zur ersten Anzeige von Spring Framework
Punkt 72: Bevorzugen Sie die Verwendung von Standardausnahmen
Wie ist die Datenstruktur von ActionText?
Richtige Verwendung der Schnittstelle und der abstrakten Klasse
Untersuchen Sie das Verhalten des JPA-Transaktionszeitlimits
Der Inhalt der von CarrierWave gespeicherten Daten.
[Java] [Spring] Testen Sie das Verhalten des Loggers
Erfassung von JSON-Daten und Drehung von Werten
Ich habe die Daten der Reise (Tagebuchanwendung) in Java erhalten und versucht, sie # 001 zu visualisieren
Teil 2: Verstehen Sie (ungefähr) den Prozessablauf der OAuth 2.0-Anmeldung, die von Spring Security 5 unterstützt wird
Ruft den Klassennamen und den Methodennamen des Controllers ab, der vom HandlerInterceptor von Spring Boot ausgeführt wird
Beispielcode für die Suche mit QBE (Query by Example) von Spring Data JPA
Teil 3: Verstehen Sie den Prozessablauf der OAuth 2.0-Anmeldung, die von Spring Security 5 unterstützt wird, (gründlich)
Verwenden Sie doch die for-Anweisung? Verwenden Sie die while-Anweisung? Ordnungsgemäße Verwendung von for-Anweisung und while-Anweisung
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
Überprüfen Sie die installierte und aktivierte JDK-Version
Denken Sie an die Kombination von Servlet und Ajax
Bis zur Datenerfassung mit Spring Boot + MyBatis + PostgreSQL
Über den offiziellen Startleitfaden für Spring Framework
[Ruby on Rails] Bis zur Einführung von RSpec
Vergleichen Sie die Geschwindigkeit der for-Anweisung und der erweiterten for-Anweisung.
Spring Data JPA Save Select-Insert ist nur Insert