Weitere Informationen finden Sie im offiziellen Beispiel: http://spring.io/guides/gs/relational-dat-access/
1. Projektvorbereitung
Erstellen Sie eine neue Tabelle "t_order", nachdem Sie die MySQL -Datenbank erstellt haben
SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `t_order`-- ----------------------------DROP TABLE IF EXISTS `t_order`;CREATE TABLE `t_order` ( `order_id` varchar(36) NOT NULL, `order_no` varchar(50) DEFAULT NULL, `order_date` datetime DEFAULT NULL, `quantity;` int (11) Standardnull, Primärschlüssel (`order_id`)) Engine = MyISAM Standard charset = utf8; ---------------------------------- DRAFTEN VON T_ORDER-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Modifizieren Sie pom.xml
<project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance http://maven.apache.org/xsd/maven-4.0.0.xsd "> <modelVersion> 4.0.0 </modelversion> <gruppe> com.github.carter659 </GroupId> <artifactId> Spring04 </artifactid> <Version> 0.0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.1/0.0.1/0.0.1-1-1-Snapshot> <name>spring04</name> <url>http://maven.apache.org</url> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <Depopenty> <GroupId> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Devtools </artifactId> <option> true </optional> </abhängig> <Depopentcy> <gruppe id> org.springFramework <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <gruppeId> commons-dbcp </gruppeId> <artifactId> commons-dbcp </artifactId> </abhängig> </abhängig> <build> <plugins> <plugin> <gruppe org. </build> </project>
2. Schreiben Sie Klassendateien:
Ändern Sie App.java
paket com.github.carter659.spring04; import org.springframework.boot.springapplication; import org.springframework.boot.autoconFigure.spingbootApplication; */@SpringbootApplicationPublic Class App {public static void main (String [] args) {SpringApplication.run (App.Class, Args); }}Erstellen Sie eine neue Datenträgerdatei "order.java"
Paket com.github.carter659.spring04; import java.util.date;/** * Blogquelle: http://www.cnblogs.com/goodhelper/ * @author liu dong * */öffentliche Klasse {öffentliche String -ID; öffentliche Zeichenfolge Nr.; öffentliches Datum; öffentliche int -Menge; /** * weglegen */}Erstellen Sie eine neue Daten Persistenzschichtklasse "orderdao.java"
Paket com.github.carter659.spring04; Import Java.util.ArrayList; Import Java.util.List; Import Java.util.UUID; org.springframework.jdbc.support.rowset.SqlRowSet;import org.springframework.stereotype.Repository;/** * Blog source: http://www.cnblogs.com/GoodHelper/ * @author Liu Dong* */@Repositorypublic class OrderDao { @Autowired private JDBCTEMPLET JDBCTEMPLATE; public list <order> findAll () {list <order> list = new ArrayList <> (); String SQL = "Select * aus t_order"; Sqlrowset rows = jdbctemplate.QueryForrowset (SQL, neues Objekt [] {}); while (rows.next ()) {order order = new order (); list.add (order); order.id = rows.getString ("order_id"); order.no = rows.getString ("order_no"); order.date = rows.getDate ("order_date"); order.quantity = rows.getInt ("Menge"); } Rückgabeliste; } public Order get (String -ID) {order order = null; String SQL = "SELECT * von T_ORder Where Order_id =?"; Sqlrowset rows = jdbctemplate.QueryForrowset (SQL, neues Objekt [] {id}); while (rows.next ()) {order = new order (); order.id = rows.getString ("order_id"); order.no = rows.getString ("order_no"); order.date = rows.getDate ("order_date"); order.quantity = rows.getInt ("Menge"); } Rückgabeauftrag; } public String Insert (Order Order) {String id = uUid.randomuuid (). toString (); String SQL = "In t_order (order_id, order_no, order_date, quantity) Werte (?,?,?,?)"; jdbctemplate.update (SQL, neues Objekt [] {id, order.no, new Java.sql.date (order.date.getTime ()), order.quantity}); Rückgabe -ID; } public void update (order order) {string sql = "aktualisieren t_order set order_no =?, order_date =?, mantity =? WO order_id =?"; jdbctemplate.update (SQL, neues Objekt [] {order.no, New java.sql.date (order.date.getTime ()), order.quantity, order.id}); } public void delete (String -ID) {String sql = "Aus t_order löschen wo order_id =?"; jdbctemplate.update (SQL, neues Objekt [] {id}); }}Die Vorgänge in der Datenbank, wie der Name schon sagt:
Findall-> alle Daten abfragen
GET-> Daten über ID abrufen
Einfügen-> Daten einfügen
Update-> Daten ändern
Löschen-> Daten löschen
Erstellen Sie einen neuen Controller "MainController.java"
Paket com.github.carter659.spring04; import Java.util.hashMap; Import Java.util.Map; import org.springframework.bean.factory.annotation org.springframework.web.bind.annotation.getmapping; import org.springframework.web.bind.annotation.postmapping; com.mysql.jdbc.stringutils; @ControllerPublic Class MainController {@autowired private orderdao orderdao; @GetMapping ("/") public String index () {return "index"; } @Postmapping ("/save") public @Responbody map <String, Objekt> Speichern (@RequestBody Order) {map <String, Objekt> result = new HashMap <> (); if (Stringutils.isnullorEmpty (order.id)) order.id = orderdao.insert (order); sonst {orderdao.update (order); } result.put ("id", order.id); Rückgabeergebnis; } @Postmapping ("/get") public @Responbody -Objekt get (String id) {return orderDao.get (id); } @Postmapping ("/findAll") public @RespondeBody Object findAll () {return orderDao.findall (); } @Postmapping ("//delete") public @RespondeBody map <String, Objekt> Delete (String -ID) {map <String, Objekt> result = new HashMap <> (); orderdao.delete (id); result.put ("id", id); Rückgabeergebnis; }}3. Erstellen Sie eine neue Thymeleaf -Vorlage
Erstellen Sie eine neue Datei "src/main/ressourcen/templates/index.html"
<! DocType html> <html xmlns: th = "http://www.thymeleaf.org"> <head> <meta http-äquiv = "content-type" content = "text/html; charset = utf-8"/> <title> spielspring boot spiele minde boote mit jdbc </title> <title> <titels play Spring Boot-Combin mit jdbc </title> <titels src = "// cdn.bootcs.com/angular.js/1.5.6/angular.min.js"></script><Script type =" text/javaScript ">/*<! [cdata [*/var App = Angular.module ('App', []); App.Controller ('MainController', Funktion ($ rootscope, $ scope, $ http) {$ scope.data = {}; } // $ scope.edit = function (id) {für (var i in $ scope.rows) {var row = $ scope.rows [i]; if (id == row.id) {$ scope.rows.splice (i, 1); // $ scope.del = function (id) {$ http ({url: '/delete? Id =' + id, methode: 'post',}). '/get? id =' + id, methode: 'post',}). Erfolg (Funktion (Daten) {für (var i in $ scope.rows) {var row = $ scope.rows [i]; if (data.id == row.id) {row.no = data.no; row.date = data.date; $ scope.rows.push (Daten); /*]]>*/</script> </head> <body ng-app = "app" ng-controller = "maincontroller"> <h1> Spring Boot-combiniert mit jdbc </h1> <h4> <a href = "http://www.cnbloglogs.com/goods.com/goods.com/good.com/goods/"> von liu-dongs bloggs </h4.com/goods.com/goods.com/goods.cring/goods.com/goods/goods/good.com/goods/goods.com/good.com/goods.cr. type = "button" value = "add" ng-klick = "add ()" /> <input type = "button" value = "speichern" ng-klick = "save ()" /> <br /> <br /> <H3> Listinformationen: < /h3> <Eingabe id = "id" type "type" styledel <tr> <td> Nr. ng-model = "data.quantity"/> </td> </tr> </table> <br/> <h3> Liste: </h3> <table cellpacing = "1" style = "background-color: #a0c6e5"> <tr style = "textalign: color: #0076C8; <Td> Operation </td> <td> Nummer </td> <td> Datum </td> <td> Menge </td> </tr> <ttr ng-repeat = "row in rows" bgcolor = '#f4faff'> <td> <input ng-click = "edit.Id)" value = "type" type "type", "type", "type"/> buttht "/> button ng-klick = "del (row.id)" value = "delete" type = "button"/> </td> <td> {{{row.no}} </td> <td> {{row.date}} </td> <td> {{oder href = "http://www.cnblogs.com/goodhelper/"> Klicken Sie Klicken, um auf das Original -Blog zuzugreifen </a> </body> </html>Verwenden Sie AngularJS 'AJAX, um die Hintergrundmethode von Spring Boot MV aufzurufen.
4. Datenbankverbindung
Erstellen Sie eine neue "src/main/ressourcen/application.properties" -Datei "
Spring.DataSource.initialize = fAlsespring.datasource.url = jdbc: mysql: // localhost: 3306/Demospring.datasource.username = rootspring.datasource.password =
Die vollständige Struktur ist:
5. Betriebseffekt
Geben Sie "http: // localhost: 8080/" in Ihren Browser ein
Daten hinzufügen:
Neue Daten speichern:
Daten bearbeiten:
Daten löschen:
Löschen Sie den Effekt der Fertigstellung:
Code: https://github.com/carter659/spring-boot-04.git
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.