angular + spring boot + mysql

  花了两周的时间,我终于做完实训了。

  这次用的全是新学的技术,前端框架是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目录下。

posted @ 2019-10-28 09:16  potato226  阅读(722)  评论(0编辑  收藏  举报