Erstellen Sie zunächst eine neue einfache Datentabelle und demonstrieren Sie, indem Sie diese Datentabelle bedienen
Droptabelle, wenn existiert "items"; Tabelle `items`` (` id` int (11) nicht null auto_increment, `title` varchar (255) Standard Null,` name` varchar (10) Standardnull, `detail` varchar (255) Standardnull, Primärschlüssel (` id`)) Engine = Innodb auto_increment = 7 default = utf8;
Führen Sie die Abhängigkeit von Maven und die Verbindungsklasse von JDBCTEMPLE ein
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
Konfigurieren Sie in der Datei application.Properties die Treiberklasse, Datenbankadresse, Datenbankkonto, Kennwortinformationen von MySQL. Erstellen Sie application.Properties im Ordner SRC/Main/Ressourcen.
Spring.DataSource.url = JDBC: MySQL: //127.0.0.1: 3306/Spring? USSSL = False Spring.DataSource.username = Root Spring.Datasource.Password = 123456 Spring.Datasource.driver-Name = comysql.jdbc.dbriver.driver-name.mysql.jdbc.dbc.dbriver. 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
Erstellen Sie eine neue Entitätsklasse, die Eigenschaften entsprechen dem SQL -Feld
Paket org.amuxia.start; public class poarts {private Integer id; privater String -Titel; privater Zeichenfolge Name; private String -Detail; public Integer getid () {return id; } public void setId (Integer id) {this.id = id; } public String gettitle () {return title; } public void settitle (String title) {this.title = title; } public String getName () {return name; } public void setName (String -Name) {this.name = name; } public String getDetail () {Rückgabedetail; } public void setDetail (String detail) {this.detail = detail; } public items () {super (); // todo automatisch generierter Konstruktor Stub} öffentliche Elemente (Ganzzahl-ID, String-Titel, Zeichenfolge Name, String-Detail) {Super (); this.id = id; this.title = title; this.name = name; this.detail = detail; } @Override public String toString () {return "items [id =" + id + ", name =" + name + ", detail =" + detail + "]"; }}Neue Operationen
/** * Neue Daten * @param items * @return */@RequestMapping ("/add") public @RespondeBody String addItems (Elemente Elements) {String SQL = "In Elemente (ID, Titel, Name, Detail) Wert (?,?,?,?)"; Objekt args [] = {items.getId (), items.gettitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (SQL, Args); if (temp> 0) {return "Artikel erfolgreich hinzugefügt"; } return "Ein neuer Fehler ist aufgetreten"; }Lassen Sie uns einen Test machen. Geben
Wir können sehen, dass der Neuzugang erfolgreich war, in der Tat sehr bequem und es gibt keine umständlichen Konfigurationsinformationen.
Die verbleibenden Löschungen, Aktualisierungsvorgänge und neuer Code bleiben unverändert, aber nur Änderungen in SQL, und hier wird keine Demonstration gegeben.
Alle Abfragebetriebe
/** * @Return * Abfragen Sie alle Informationen */@RequestMapPing ("/list") öffentliche Liste <map <String, Objekt >> itemsList () {String SQL = "Select * aus Elementen"; Liste <map <string, objekt >> list = jdbctemplate.queryForList (SQL); Rückgabeliste; }Lassen Sie uns einen Test machen. Geben Sie http: // localhost: 8080/items/list im Postman -Test -Tool ein
Wir haben gesehen, dass, einschließlich der neu hinzugefügten Daten, gefunden wurde.
Um den JDBCTEMPLATE -Betrieb von Springboot zu erfahren, werden alle Hinzufügung, Lösch-, Änderungs- und Suchcodes in der ElementsController -Klasse geschrieben, was auch für die Demonstration geeignet ist. Der Code ist hier veröffentlicht und Sie können ihn ausführen, wenn Sie ihn benötigen.
Paket org.amuxia.start; importieren java.util.list; import 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 private jdbCtemplate jdbctemplate; /** * @Return * Abfragen Sie alle Informationen */@RequestMapPing ("/list") öffentliche Liste <map <String, Objekt >> itemsList () {String SQL = "Select * aus Elementen"; Liste <map <string, objekt >> list = jdbctemplate.queryForList (SQL); Rückgabeliste; }/** * @param id * @return * Abfragen Sie eine einzelne Nachricht basierend auf der ID */@RequestMapping ("/detail/{id}") public map <String, Objekt> Detail (@PathVariable int id) {map <string, Objekt> map = null; Liste <map <String, Objekt >> list = itemsList (); map = list.get (id); Rückgabekarte; }/** * Neue Daten * @param items * @return */@RequestMapping ("/add") public @ResponseBody String addItems (Elementelemente) {String SQL = "In Elemente einfügen (ID, Titel, Name, Detail) Wert (?,?,?)"; Objekt args [] = {items.getId (), items.gettitle (), items.getName (), items.getDetail ()}; int temp = jdbctemplate.update (SQL, Args); if (temp> 0) {return "Artikel erfolgreich hinzugefügt"; } return "Artikel hinzugefügt" Fehler "; }/** * @param items * @return * Daten löschen */@RequestMapping ("/del") public @ResponseBody String Delitems (Elementelemente) {String sql = "Aus Elementen löschen wobei id =?"; Objekt args [] = {items.getId ()}; int temp = jdbctemplate.update (SQL, Args); if (temp> 0) {return "Artikel erfolgreich löschen"; } return "Artikel gelöscht"; }/** * @param items * @return * Aktualisieren Sie den Vorgang */@RequestMapping ("/upd") public @ResponseBody String upditems (Elementelemente) {String SQL = "Elemente set title =?, detail =? Where id =?"; Objekt args [] = {items.gettitle (), items.getDetail (), items.getId ()}; int temp = jdbctemplate.update (SQL, Args); if (temp> 0) {return "Artikel erfolgreich geändert"; } return "Fehler in der Änderung"; }}Hier ist eine Erklärung
@Componentscan:
@Componentscan sagt Spring, welche Annotationsklasse automatisch per Feder gescannt und in den Bohnenbehälter geladen wird. Wenn eine Klasse mit der @Controller -Annotation identifiziert wird, wird der Controller nicht nach Feder gescannt und nicht in den Federcontainer geladen, und der Controller funktioniert nicht.
Start -up -Klassencode
Paket org.amuxia.start; import org.springframework.boot.springApplication; import org.springframework.boot.autoconfigure.enableAutoconfiguration; import org.springframework.web.bind.annotation.restController; @RestController @enableAutoConfiguration öffentliche Klasse App {public static void main (String [] args) {System.out.println ("start ..."); SpringApplication.run (itemsController.class, args); }}Zusammenfassen
Das obige ist das, was der Herausgeber Ihnen vorgestellt hat. Springboot verwendet JDBCTEMPLET, um die Datenbankzusatz-, Lösch-, Änderungs- und Suchfunktion zu vervollständigen. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!