Categoria:

Esempio di come realizzare un’applicazione web con MyBatis e Spring

30/12/2017 15:44 Pubblicato da
Share on FacebookTweet about this on TwitterGoogle+Share on Reddit

MyBatis
In questo articolo proporrò un tutorial su come sviluppare un’applicazione web basata su Spring e MyBatis. L’applicazione consiste di un form di registrazione utente il quale servirà per prendere dei dati in input e salvarli all’interno del DB MySQL. Il progetto in questione usa Maven come gestore di progetto. Il sorgente si trova su github.

  Github

Creazione del progetto

Per prima cosa dobbiamo creare un nuovo progetto. Per farlo dobbiamo inanzitutto passare alla prospettiva Spring. Successivamente fare File, New, Spring Legacy Project. Definire il nome del progetto e successivamente selezionare dalla lista dei template Spring MVC Project. Premere su Next, definire il top-level package come com.cyberx.signup ed infine premere su Finish.
Adesso dovremmo avere ottenuto una strutture del progetto simile a quella mostrata nell’immagine sottostante.
signup project structure

Aggiornare il pom.xml

Per poter lavorare con MyBatis e MySQL dobbiamo innazitutto importare le librerie del framework per la persistenza dei dati e il driver MySQL. Per fare ciò basterà aggiungere qualche riga al file pom.xml di Maven.

Il servlet-context.xml

Il passo successivo sarà quello di modificare il file servlet-context.xml.

Includendo il bean InternalResourceViewResolver consentiamo a Spring di localizzare i file jsp. Il bean dataSource invece indica le credenziali di accesso alla nostra base di dati. La sqlSessionFactory è il cuore della configurazione di MyBatis. Questo bean ha tre proprietà: il dataSource che abbiamo già configurato, il typeAliasesPackage che indica dove sono localizzate le classi del model e il mapperLocations che indica dove sono localizzate i mapper xml (noi utilizzeremo interfacce con annotazioni invece dei classici file xml di configurazione, vedi MapperScannerConfigurer).

Il model

Le classi presenti nel package com.cyberx.signup.model verranno utilizzate da MyBatis per incapsulare i dati provenienti dal nostro DB. Nel model noi abbiamo una sola classe, Student.java. I campi dello studente saranno presenti anche nel form di inserimento dei dati della view.

Il mapper

Nel package com.cyberx.signup.mapper vanno inseriti tutti i mapper della nostra applicazione. Il mapper corrisponde al nostro DAO, esso infatti si occupa della comunicazione con la base di dati, ossia effettua l’accesso e le modifiche del DB. Nel nostro caso abbiamo un solo mapper: StudentMapper.java

Il service

Il Service è composto da un’interfaccia e da una classe che implementa l’interfaccia. Il service lo definiamo nel package com.cyberx.signup.service. Il service non fa altro che invocare i metodi dello StudentMapper.

Il Controller

Il controller lo definiamo nel package com.cyberx.signup.controller.

La classe consiste di due metodi: uno di tipo GET e uno di tipo POST. Il primo serve per ritornare la pagina con il form di registrazione, mentre il secondo serve per salvare i dati all’interno della nostra base di dati MySQL.

La view

La view consiste di una pagina jsp denominata home.jsp.

Il database

30/12/2017 16:53

Comments are closed here.