См. Официальный пример: http://spring.io/guides/gs/relational-data-access/
1. Подготовка проекта
Создайте новую таблицу "T_ORDER" после создания базы данных MySQL
Установите foreign_key_checks = 0;------------------------------- Структура таблицы для `t_order`-- -------------------------------- ТАБЛИЦА, ЕСЛИ ОСНОВАЯ int (11) null по умолчанию, первичный ключ (`order_id`)) Engine = myisam по умолчанию charset = utf8;----------------------------------- Записи T_ORDER-- ----------------------------
Модифицировать pom.xml
<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>com.github.carter659</groupId> <artifactId>spring04</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <mame> spring04 </name> <url> http://maven.apache.org </url> <parent> <groupd> org.springframework.boot </GroupId> <StrifactId> Spring-boot-Starter-Parent </artifactid> <serview> 1.4.2.Release </version> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </Свойства> <Depertiencies> <dehyestion> <groupd> org.springframework.boot </artifactid> spring-boot-starter-webramework.boot <//GroupD> <ratifactId> ArtifactId> ArtifactId> ArtifactId> ArtifactId> artifactid> artifactid> artifactid> artifactid> artifactid> artifactid> artifactid> <Depected> <groupid> org.springframework.boot </GroupId> <ArtifactId> Spring-boot-devtools </artifactid> <phoppenal> true </optional> </degifaction> <dependency> <groupid> org.springframework.boot </Groupid> <strifactid> spring-boot-starter-thymelfective-thymelfectied </artifactid> artifactid> spring-boot-starter-thymelainteaffeefeafe-thymelaffectied> </artifactid> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>commons-dbcp</groupId> <stracactid> commons-dbcp </artifactid> </dependency> </dependencies> <buld> <blicins> <blicin> <groupid> org.springframework.boot </GroupId> <straCactId> Spring-boot-maven-plugin </artifactid> </plagin> </plugins> </build> </build> </build> </build> </build> </build> </build>
2. Напишите файлы классов:
Изменить app.java
пакет com.github.carter659.spring04; import org.springframework.boot.springApplication; импорт org.springframework.boot.autoconfigure.springbootapplication;/** * Блог Источник: http://www.cnblogs.com/goodhelper/ * @author */@SpringbootApplicationPublic Class App {public static void main (String [] args) {SpringApplication.run (app.class, args); }}Создайте новый файл носителя данных "order.java"
пакет com.github.carter659.spring04; import java.util.date;/** * Источник блога: http://www.cnblogs.com/goodhelper/ * @author liu dong * *//public class order {public String id; публичная строка №; дата общественности; общественное количество количества; /** * Опущено получить установку */}Создайте новый класс упорных данных.
пакет com.github.carter659.spring04; import java.util.arraylist; import java.util.list; import java.util.uuid; import org.springframework.beans.factory.annotation.autowired; import.sprmework.jdbc.core.jdbctateTate; org.springframework.jdbc.support.rowset.sqlrowset; import org.springframework.stereotype.repository;/** * Источник блога: http://www.cnblogs.com/goodhelper/ * @author liu */ @ @repositorypublic Jdbctemplate jdbctemplate; public list <dorder> findall () {list <rober> list = new ArrayList <> (); String sql = "select * from t_order"; Sqlrowset rows = jdbctemplate.queryforrowset (sql, new Object [] {}); while (row.next ()) {order order = new Order (); list.add (order); order.id = rowString ("order_id"); order.no = rowString ("order_no"); order.date = row.getDate ("order_date"); order.quantity = row.getint ("количество"); } return List; } public order get (string id) {order order = null; String sql = "select * from t_order where order_id =?"; Sqlrowset rows = jdbctemplate.queryforrowset (sql, new Object [] {id}); while (row.next ()) {order = new Order (); order.id = rowString ("order_id"); order.no = rowString ("order_no"); order.date = row.getDate ("order_date"); order.quantity = row.getint ("количество"); } return order; } public String insert (заказ порядка) {string id = uuid.randomuuid (). toString (); String sql = "Вставьте в t_dord (order_id, order_no, order_date, количество) значения (?,?,?,?)"; jdbctemplate.update (sql, новый объект [] {id, order.no, new java.sql.date (order.date.gettime ()), order.quantity}); вернуть идентификатор; } public void update (order order) {string sql = "update t_order set order_no =?, order_date =?, Количество =? Где order_id =?"; jdbctemplate.update (sql, новый объект [] {order.no, new java.sql.date (order.date.gettime ()), order.quantity, order.id}); } public void delete (String Id) {String SQL = "DELETE FROM T_ORDER, где ORDER_ID =?"; jdbctemplate.update (sql, new Object [] {id}); }}Операции в базе данных, как следует из названия:
Findall-> Запрос всех данных
Получить-> Получить данные через идентификатор
Вставьте-> вставить данные
Обновление-> изменить данные
Удалить-> Удалить данные
Создайте новый контроллер "Maincontroller.java"
пакет com.github.carter659.spring04; import java.util.hashmap; import java.util.map; import org.springframework.beans.factory.antotation.autowired; import org.springframework.stepolype.controler; импорт org.sprimework. org.springframework.web.bind.annotation.postmapping; импорт org.springframework.web.bindtation.requestbody; import org.springframework.web.bindtation.responsebody; import com.mysql.jdbc.stringutils; @controllerpublicbody; OrderDao OrderDao; @Getmapping ("/") public String index () {return "index"; } @Postmapping ("/save") public @responsebody map <string, object> save (@requestbody order) {map <string, object> result = new hashmap <> (); if (stringutils.isnullorempty (order.id)) order.id = orderdao.insert (order); else {orderdao.update (order); } result.put ("id", order.id); результат возврата; } @Postmapping ("/get") public @responsebody объект get (string id) {return orderdao.get (id); } @Postmapping ("/findall") public @responsebody объект findall () {return orderdao.findall (); } @Postmapping ("/delete") public @responsebody map <string, object> delete (string id) {map <string, object> result = new hashmap <> (); orderdao.delete (id); result.put ("id", id); результат возврата; }}3. Создайте новый шаблон Thymeleaf
Создайте новый файл "src/main/resources/templates/index.html"
<! Doctype html> <html xmlns: th = "http://www.thymeleaf.org"> <Head> <meta http-equiv = "content-type" content = "text/html; charset = utf-8"/> <title> play spring boot--combed с jdbc </harset = utf-8 "/> src = "// cdn.bootcss.com/angular.js/1.5.6/angular.min.js"></script><script type =" text/javascript ">/*<! [cdata [*/var app = angular.module ('app', []); app.controller ('maincontroller', function ($ rootscope, $ scope, $ http) {$ scope.data = {}; $ scope.rows = []; // Добавить $ scope.add = function () {$ scope.data = {no: '№1234567890', Quantish: 'Date' Date'tipe '312; } // Редактировать $ scope.edit = function (id) {for (var i in $ scope.rows) {var row = $ scope.rows [i]; $ scope.rows [i]; $ scope.get (r.id); $ http ({url: '/get? id =' + id, метод: 'post',}). Success (function (data) {for (var i в $ rafope.rows) {var row = $ scope.rows [i]; if (data.id == row.id) {row.no = data. row.date = data.date; $ scope.rows.push (data); /*]]>*/</</script> </head> <body ng-app = "app" ng-controller = "maincontroller"> <h1> play spring boot-combomed с jdbc </h1> <h4> <a href = "http://www.cnblogs.com/goodhelper/"> http://www.cnblogs.com/goodhelper/ " type = "кнопка" value = "add" ng-click = "add ()" /> <input type = "value =" save "ng-click =" save () " /> <br /> <br /> <h3> Информация о списке: < /h3> <input id =" id "type =" hidden "ng-model =" data.id " /> <table valpodse =" 1 "style". <tr> <td> нет.: </td> <td> <input id = "no" ng-model = "data.no"/> </td> <td> Дата: </td> <td> <input id = "date" ng-model = "data.date"/> </td> <td> Qualtion: </td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> <td> ng-model = "data.quantity"/> </td> </tr> </table> <br/> <h3> Список списков: </h3> <таблица сотовой связи = "1" style = "фоновый цвет: #a0c6e5"> <tr style = "text-align: center; color: #0076c8; <Td> операция </td> <td> number </td> <td> date </td> <td> Количество </td> </tr> <ttr ng-repeat = "row in rows" bgcolor = '#f4faff'> <td> <input ng-click = "eDit (row.id)" value = "edit" type = "/>"/> "/>"/> "/>"/> "/>"/> "/>"/> ng-click = "del (row.id)" value = "delete" type = "button"/> </td> <td> {{row.no}} </td> <td> {{row.date}} </td> <td> {{row.quantity}} </td> </tr> </tra> </tra> <br/row.quantity} </td> </td> href = "http://www.cnblogs.com/goodhelper/"> Нажмите, чтобы получить доступ к оригинальному блогу </a> </body> </html>Используйте Angularjs 'Ajax, чтобы вызвать метод Founder Spring Boot MV.
4. Соединение базы данных
Создайте новый файл "src/main/resources/application.properties"
spring.datasource.initialize = falsespring.datasource.url = jdbc: mysql: // localhost: 3306/demospring.datasource.username = rotspring.datasource.password = spring.datasource.driver-class-name = com.mysql.jdbc.driver
Полная структура:
5. Эффект работы
Введите "http: // localhost: 8080/" в вашем браузере
Добавьте данные:
Сохранить новые данные:
Редактировать данные:
Удалить данные:
Удалить эффект завершения:
Код: https://github.com/carter659/spring-boot-04.git
Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.