摘要:添加一個(gè)使用接收請求添加用戶微服務(wù)啟動類鏈接數(shù)據(jù)庫通過編寫數(shù)據(jù)庫訪問。
SpringCloud(第 039 篇)鏈接Mysql數(shù)據(jù)庫,通過JpaRepository編寫數(shù)據(jù)庫訪問
-
一、大致介紹1、本章節(jié)開始講解一下訪問數(shù)據(jù)庫的操作,不過其實(shí)這還不算是SpringCloud的范疇,應(yīng)該說是SpringBoot的操作范疇,這些就先拋開了,我們就還是講解數(shù)據(jù)庫的操作; 2、JpaRepository操作數(shù)據(jù)庫訪問,其實(shí)有許多同事都建議最好不要采用,因?yàn)槲覀兤匠5臉I(yè)務(wù)處理中并沒有用到Jpa的額外的方法; 3、而且我也找了一篇文章提到了關(guān)于對JpaRepository的一些看法,鏈接地址為 http://jtuts.com/2014/08/26/difference-between-crudrepository-and-jparepository-in-spring-data-jpa; 4、而本章節(jié)我們僅僅只是講解了一下如何集成操作Mysql數(shù)據(jù)庫,采用JpaRepository來訪問而已,不涉及什么深層次的業(yè)務(wù); 5、另外配置文件中的mysql數(shù)據(jù)庫配置,那么就得大家自己用自己的了哈;
Mysql數(shù)據(jù)庫安裝步驟
二、實(shí)現(xiàn)步驟 2.1 添加 maven 引用包2.2 添加應(yīng)用配置文件(springms-provider-user-mysql-jparepositorysrcmainresourcesapplication.yml)4.0.0 springms-provider-user-mysql-jparepository 1.0-SNAPSHOT jar com.springms.cloud springms-spring-cloud 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring-boot-starter-web mysql mysql-connector-java
server: port: 8310 spring: application: name: springms-provider-user-mysql-jparepository #全部小寫 ##################################################################################################### # mysql 屬性配置 datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://ip:3306/hmilyylimh username: username password: password jpa: hibernate: #ddl-auto: create #ddl-auto:設(shè)為create表示每次都重新建表 ddl-auto: update #ddl-auto:設(shè)為update表示每次都不會重新建表 show-sql: true ##################################################################################################### ##################################################################################################### # 打印日志 logging: level: root: INFO org.hibernate: INFO org.hibernate.type.descriptor.sql.BasicBinder: TRACE org.hibernate.type.descriptor.sql.BasicExtractor: TRACE com.springms: DEBUG #####################################################################################################2.3 添加訪問底層數(shù)據(jù)模型的DAO接口(springms-provider-user-mysql-jparepository/src/main/java/com/springms/cloud/repository/UserRepository.java)
package com.springms.cloud.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import com.springms.cloud.entity.User; @Repository public interface UserRepository extends JpaRepository2.4 添加實(shí)體用戶類User(springms-provider-user-mysql-jparepository/src/main/java/com/springms/cloud/entity/User.java){ }
package com.springms.cloud.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @Column private String username; @Column private String name; @Column private Integer age; @Column private String balance; public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public Integer getAge() { return this.age; } public void setAge(Integer age) { this.age = age; } public String getBalance() { return this.balance; } public void setBalance(String balance) { this.balance = balance; } }2.5 添加用戶Web訪問層Controller(springms-provider-user-mysql-jparepository/src/main/java/com/springms/cloud/controller/ProviderUserMysqlController.java)
package com.springms.cloud.controller; import com.springms.cloud.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.springms.cloud.entity.User; import java.util.List; /** * 用戶微服務(wù)Controller。 * * @author hmilyylimh * * @version 0.0.1 * * @date 17/10/18 * */ @RestController public class ProviderUserMysqlController { @Autowired private UserRepository userRepository; @GetMapping("/simple/{id}") public User findUserById(@PathVariable Long id) { return this.userRepository.findOne(id); } @GetMapping("/simple/list") public List2.6 添加用戶微服務(wù)啟動類(springms-provider-user-mysql-jparepository/src/main/java/com/springms/cloud/MsProviderUserMysqlApplication.java)findUserList() { return this.userRepository.findAll(); } /** * 添加一個(gè)student,使用postMapping接收post請求 * * http://localhost:8310/simple/addUser?username=user11&age=11&balance=11 * * @return */ @PostMapping("/simple/addUser") public User addUser(@RequestParam(value = "username", required=false) String username, @RequestParam(value = "age", required=false) Integer age, @RequestParam(value = "balance", required=false) String balance){ User user=new User(); user.setUsername(username); user.setName(username); user.setAge(age); user.setBalance(balance); return userRepository.save(user); } }
package com.springms.cloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * 鏈接Mysql數(shù)據(jù)庫,通過JpaRepository編寫數(shù)據(jù)庫訪問。 * * @author hmilyylimh * * @version 0.0.1 * * @date 17/10/18 * */ @SpringBootApplication public class MsProviderUserMysqlApplication { public static void main(String[] args) { SpringApplication.run(MsProviderUserMysqlApplication.class, args); System.out.println("【【【【【【 鏈接Mysql數(shù)據(jù)庫微服務(wù) 】】】】】】已啟動."); } }三、測試
/**************************************************************************************** 一、鏈接Mysql數(shù)據(jù)庫,通過JpaRepository編寫數(shù)據(jù)庫訪問: 1、啟動 springms-provider-user-mysql-jparepository 模塊服務(wù),啟動1個(gè)端口; 2、在瀏覽器輸入地址 http://localhost:8310/simple/10 可以看到用戶ID=10的信息成功的被打印出來; 3、使用 IDEA 自帶工具 Test Restful WebService 發(fā)送 HTTP POST 請求,并添加 username、age、balance三個(gè)參數(shù),然后執(zhí)行請求,并去 mysql 數(shù)據(jù)庫查看數(shù)據(jù)是否存在,正常情況下 mysql 數(shù)據(jù)庫剛剛插入的數(shù)據(jù)成功了: 4、使用 REST Client 執(zhí)行 "/simple/list" 接口,也正常將 mysql 數(shù)據(jù)庫中所有的用戶信息打印出來了; ****************************************************************************************/四、下載地址
https://gitee.com/ylimhhmily/SpringCloudTutorial.git
SpringCloudTutorial交流QQ群: 235322432
SpringCloudTutorial交流微信群: 微信溝通群二維碼圖片鏈接
歡迎關(guān)注,您的肯定是對我最大的支持!!!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67823.html
摘要:添加一個(gè)使用接收請求添加用戶微服務(wù)啟動類鏈接數(shù)據(jù)庫通過編寫數(shù)據(jù)庫訪問。 SpringCloud(第 040 篇)鏈接Mysql數(shù)據(jù)庫,通過CrudRepository編寫數(shù)據(jù)庫訪問 - 一、大致介紹 1、前面章節(jié)提到了用JpaRepository訪問數(shù)據(jù)庫,而本章節(jié)則是用CrudRepository訪問數(shù)據(jù),那么他們之間都可以訪問數(shù)據(jù)庫,有啥聯(lián)系呢? 2、從源碼我可知JpaReposi...
摘要:第篇簡單用戶微服務(wù)一大致介紹通過接口來簡單獲取數(shù)據(jù)庫中的用戶信息,并且數(shù)據(jù)庫中的字段與實(shí)體類的字段相互映射。添加簡單用戶微服務(wù)啟動類簡單用戶微服務(wù)類。 SpringCloud(第 001 篇)簡單用戶微服務(wù) - 一、大致介紹 通過 RestAPI 接口 /simple/{id} 來簡單獲取 H2 數(shù)據(jù)庫中的用戶信息,并且數(shù)據(jù)庫中的字段與實(shí)體 User 類的字段相互映射 。 二、實(shí)現(xiàn)步驟...
摘要:添加簡單用戶微服務(wù)啟動類簡單用戶微服務(wù)類支持熱部署。 SpringCloud(第 038 篇)idea環(huán)境熱部署微服務(wù)開發(fā) - 一、大致介紹 1、我們在開發(fā)過程中,會經(jīng)常需要啟動、停止微服務(wù),而且有時(shí)候會比較頻繁,需要不停的操作啟停動作; 2、而我們本章節(jié)主要講解下如何在開發(fā)環(huán)境中進(jìn)行熱部署,這樣的話可以在一定程度上專心敲代碼,兩耳不聞窗外事,一心只想敲代碼; 二、實(shí)現(xiàn)步驟 2.1 添...
閱讀 3202·2021-09-29 09:34
閱讀 3557·2021-09-10 10:51
閱讀 1952·2021-09-10 10:50
閱讀 6751·2021-08-12 13:31
閱讀 3004·2019-08-30 15:54
閱讀 1569·2019-08-30 15:44
閱讀 1432·2019-08-29 12:26
閱讀 2660·2019-08-26 18:36