< Framework Spring

Il est possible d’interagir avec des bases de données via Spring.

Pour JDBC, Java Database Connectivity et H2 on aura le pom.xml suivant

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>SimpleJavaProject</groupId>
	<artifactId>SimpleJavaProject</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<dependencies>
		<dependency>
			<groupId>com.h2database</groupId>
			<artifactId>h2</artifactId>
			<version>1.4.197</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>5.0.7.RELEASE</version>
		</dependency>
	</dependencies>
	<build>
		<sourceDirectory>src</sourceDirectory>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

Le code java est le suivant :

package mainPackage;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabase;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseBuilder;
import org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType;

public class MainClass
{
	public static void main(String[] args)
	{
		EmbeddedDatabaseBuilder embeddedDatabaseBuilder = new EmbeddedDatabaseBuilder();
		EmbeddedDatabase embeddedDatabase = embeddedDatabaseBuilder.setType(EmbeddedDatabaseType.H2).setName("testDB;MODE=MySQL").build();
		JdbcTemplate template = new JdbcTemplate(embeddedDatabase);
		template.execute("create table sw (id int,name varchar)");
		template.execute("insert into sw (id,name) values (11,'A')");
		template.execute("insert into sw (id,name) values (38,'B')");
		template.execute("insert into sw (id,name) values (42,'THX')");
		System.out.println(template.queryForObject("select max(id) from sw",Integer.class));
	}
}

On crée une base de données embarquée dans l'application de type H2, ensuite le lien vers cette base de données. On lance 3 insertions dans une table nouvellement créée et on affiche le résultat de l'identifiant le plus grand, on obtient logiquement 42.

Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.