花了兩周的時間,我終於做完實訓了。
這次用的全是新學的技術,前端框架是angular,組件庫是ngzorro的,后端是spring boot,數據庫是mysql。這次被逼着學習新東西,總算是湊湊合合把這些技術學會了。
先說前端的angular框架,現在我學會了基本的建component,設置路由和其他一些框架的特效,如果以后要用卻忘記了,可以去angular官網看英雄教程。
再看后端,spring的框架在今年暑假的時候我就被要求學,可是我初看一頭霧水,又沒有實際使用的需求,我就一直拖着沒學。這次總算學習了一波。
為了讓后端能夠與數據庫連接,先配置resources文件夾中的application.properties文件,如下:
server.port=8080
# Hibernate 相關配置
## 方言
#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
## 顯示Sql
hibernate.show_sql=true
## 自動建表方式
hibernate.hbm2ddl.auto= update
## 數據庫連接
spring.datasource.url=jdbc:mysql://localhost:3306/web
## 用戶名
spring.datasource.username=root
## 密碼
spring.datasource.password=123456
## 數據庫驅動
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
## 建表方式
spring.jpa.properties.hibernate.hbm2ddl.auto=update
# 方言
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 
        該配置以用戶名為root,密碼為123455區連接localhost:3306的mysql數據庫中的web庫。
一般來說后端是用來作為前端與數據庫的橋梁的。操作一個數據模型,在后端包含三個部分:
- 模型類:模型類定義的成員變量需要和數據庫一模一樣,並且包含各個變量的get和set方法。
- 控制類(controller):控制類用於給前端提供操作接口,以及做基本的邏輯操作。給前端提供的操作接口,例如:
@RequestMapping("/update")
public CustomResponse updateUserById(@RequestParam User u) {
    User user = u;
    userRepository.save(user);
    return new CustomResponse("更新成功");
} 
        需要注意的是,在前后端通信中,定義了一個CustomResponse封裝數據。
- 直接操作數據庫類(Repository):夾在數據庫與控制類之間,為控制類提供操作數據庫的方法。
基本上就是這些內容了,但是在實際開發的時候還是遇到很多坑,問題參考的如下:
后端部分:
- 如何在IDEA中自動生成getter和setter方法:右鍵->點擊Generate->點擊getter and setter->全選->點擊OK。
- 在IDEA工程目錄中無法找到新建Java文件的選項該如何解決:參考鏈接。
    - spring boot操作mysql數據庫:參考鏈接。
    - @Param注解的用法:參考鏈接。
- 瀏覽器控制台報無法跨域問題的解決辦法:參考鏈接。
- 如何取消在IDEA中出現相似代碼時的黃線提示:參考鏈接。
- 報No identifier specified for entity錯的原因:參考鏈接。出現這個報錯其實是模型類中的變量里沒有聲明唯一的主鍵。
- 其他注解的用法:參考鏈接。
- @transactional無效的問題:參考鏈接。
- 包含各種jar文件的lib文件夾應放置在Web-INF目錄下。
