Créez d'abord un nouveau tableau de données simple et démontrez en exploitant ce tableau de données
Tableau de dépose si il existe des «éléments»; Créer un tableau `items` (` id` int (11) non null auto_increment, `title` varchar (255) par défaut null,` name` varchar (10) par défaut null, `Detail` varchar (255) par défaut null, clé primaire (` id`)) moteur = innodb auto_increment = 7 charme par défaut = utf8;
Introduire la classe de dépendance et de connexion Maven de JDBCTemplate
<dependency> <proupId> org.springframework.boot </proupheid> <ArtifactId> printemps-boot-starter-jdbc </ artifactid> </dependency> <dependency> <proupId> mysql </proupId> <Artifactid> mysql-Connector-java </tatifactisid> <Scope> Runtime </Dedency>
Dans le fichier application.properties, configurez la classe du pilote, l'adresse de la base de données, le compte de base de données, les informations de mot de passe de MySQL. Créer Application.Properties dans le dossier SRC / Main / Resource.
printemps.datasource.url = jdbc: mysql: //127.0.0.1: 3306 / printemps? usessl = false spring.datasource.Username = root printemps.datasource.password = 123456 spring.datasource.driver-clname = com.mysql.jdbc.ddriverce printemps.datasource.max-idle = 10 spring.datasource.max-wait = 10000 spring.datasource.min-idle = 5 spring.datasource.initial-size = 5 server.port = 8080 server.Session.Timeout = 10 Server.tomcat.uri-coding = utf-8
Créez une nouvelle classe d'entité, les propriétés correspondent au champ SQL
package org.amuxia.start; Éléments de classe publique {ID entier privé; titre de chaîne privée; nom de chaîne privé; Détail de chaîne privée; public Integer getID () {return id; } public void setid (INGER ID) {this.id = id; } public String getTitle () {return title; } public void SettItle (String Title) {this.title = title; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; } public String getDetail () {return Detail; } public void setDetail (String Detail) {this.detail = détail; } publics publics () {super (); // TODO Stub du constructeur généré automatiquement} Éléments publics (ID entier, titre de chaîne, nom de chaîne, détail de chaîne) {super (); this.id = id; this.title = title; this.name = name; this.detail = détail; } @Override public String toString () {return "items [id =" + id + ",, name =" + name + ", de détail =" + détail + "]"; }}Nouvelles opérations
/ ** * Nouvelles données * @param items * @return * / @RequestMapping ("/ add") public @ResponseBody String additems (éléments items) {String sql = "insérer dans les éléments (id, titre, nom, détail) valeur (? ,? ,?)"; Objet args [] = {items.getID (), items.getTitle (), items.getName (), itels.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "L'article a ajouté avec succès"; } return "Une nouvelle erreur s'est produite"; }Faisons un test. Entrez http: // localhost: 8080 / items / ajout dans l'outil de test Postman
Nous pouvons voir que le nouvel ajout a réussi, il est en effet très pratique et qu'il n'y a pas d'informations de configuration lourdes.
Les suppressions restantes, les opérations de mise à jour et le nouveau code restent inchangés, mais seuls les modifications de SQL, et aucune démonstration n'est donnée ici.
Toutes les opérations de requête
/ ** * @return * requête toutes les informations * / @requestmapping ("/ list") public list <map <string, objet >> itelesList () {String sql = "select * from items"; List <map <string, objet >> list = jdbctemplate.queryforlist (sql); Liste de retour; }Faisons un test. Entrez http: // localhost: 8080 / éléments / liste dans l'outil de test Postman
Nous avons vu que, y compris les données nouvellement ajoutées, ont été trouvées.
Afin d'apprendre le fonctionnement JDBCTemplate de Springboot, tous les codes d'addition, de suppression, de modification et de recherche sont écrits dans la classe ItemsController, qui est également pratique pour la démonstration. Le code est publié ici et vous pouvez l'exécuter si vous en avez besoin.
package org.amuxia.start; Importer java.util.list; importation java.util.map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.componentscan; import org.springframework.jdbc.core.jdbcTemplate; import org.springframework.web.bind.annotation.pathvariable; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.restController; @Componentscan @RestController @RequestMapping ("/ items") public class itemsController {@autowired privé jdbctemplate jdbctemplate; / ** * @return * requête toutes les informations * / @requestmapping ("/ list") public list <map <string, objet >> itelesList () {String sql = "select * from items"; List <map <string, objet >> list = jdbctemplate.queryforlist (sql); Liste de retour; } / ** * @param id * @return * requête un seul message basé sur l'ID * / @RequestMapping ("/ Detail / {id}") Public Map <String, Object> Detail (@Pathvariable int id) {map <String, objet> map = null; List <map <string, objet >> list = itemsList (); map = list.get (id); carte de retour; } / ** * Nouvelles données * @param items * @return * / @requestmapping ("/ add") public @ResponseBody String additems (éléments items) {String sql = "insérer dans les éléments (id, titre, nom, détail) valeur (? ,? ,?)"; Objet args [] = {items.getID (), items.getTitle (), items.getName (), itels.getDetail ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "L'article a ajouté avec succès"; } return "Article Ajout Erreur"; } / ** * @param items * @return * delete data * / @requestmapping ("/ del") public @ResponseBody String Delitems (éléments items) {String sql = "Delete from items où id =?"; Objet args [] = {items.getID ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Article Supprimer avec succès"; } return "Article supprimé Erreur"; } / ** * @param items * @return * Update Operation * / @RequestMapping ("/ upd") public @ResponseBody String upitems (items items) {String sql = "update items set title =?, Detail =? Where id =?"; Objet args [] = {items.getTitle (), items.getDetail (), itels.getId ()}; int temp = jdbctemplate.update (sql, args); if (temp> 0) {return "Article modifié avec succès"; } return "erreur dans la modification"; }}Voici une explication
@Componentscan:
@ComponentScan dit à Spring quelle classe d'annotation sera automatiquement analysée par le ressort et chargé dans le conteneur de haricots. Si vous avez une classe identifiée avec l'annotation @Controller, alors si @componentscan n'est pas ajouté pour scanner automatiquement le contrôleur, le contrôleur ne sera pas analysé par le printemps et ne sera pas chargé dans le récipient à ressort et le contrôleur ne fonctionnera pas.
Code de classe de démarrage
package org.amuxia.start; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.enableAutoConfiguration; import org.springframework.web.bind.annotation.restController; @RestController @enableAutoConfiguration publique classe publique {public static void main (String [] args) {System.out.println ("start ..."); SpringApplication.Run (itemsController.class, args); }}Résumer
Ce qui précède est ce que l'éditeur vous a présenté. Springboot utilise JDBCTemplate pour compléter la fonction d'addition, de suppression, de modification et de recherche de la base de données. J'espère que ce sera utile à tout le monde. Si vous avez des questions, veuillez me laisser un message et l'éditeur répondra à tout le monde à temps. Merci beaucoup pour votre soutien au site Web Wulin.com!