# user-manager-springboot **Repository Path**: gerson577/user-manager-springboot ## Basic Information - **Project Name**: user-manager-springboot - **Description**: 简单的用户管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-01 - **Last Updated**: 2021-12-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户管理系统 ​ 一个简单的用户管理系统,主要是一些增删改查。 ## 1、技术栈 ​ mysql、springboot、jpa、mysql ## 2、JPA和 mysql结合 ​ Spring Boot 有着一整套的默认配置,默认情况下,数据库是使用 H2 数据库的。如果需要使用 MySQL,还需要进行一些配置。 ```properties spring.jpa.hibernate.ddl-auto=update spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/user_manager_springboot spring.datasource.username=root spring.datasource.password=1 spring.datasource.driver-class-name =com.mysql.cj.jdbc.Driver #spring.jpa.show-sql: true ``` ​ 如上所示,是关于 MySQL 的一些配置,其中第一个 spring.jpa.hibernate.ddl-auto 是用来配置当项目启动/关闭时,mysql 数据库如何变化的情形。 ​ 有以下四种属性值: * none: 对于MySQL,这是个默认值,启动和关闭项目时不会对数据库结构产生任何影响 * update: 根据实体类运行结果,在原有数据库基础上进行更改,尽量不破环原有数据库结构,只有当不得已覆盖才会破环。假设,将实体类 User 的一个属性 userName 修改为 name,之前已经在数据库中保存的 user_name 属性不会被破坏,修改后的 name 会作为新增的属性添加到数据库中。 * create: 不会顾及之前的数据库状态,每次运行项目,都是按实体类命令来创建数据库,所以如果新的运行状态还是指向原有数据库,之前的数据库数据会丢失。但是运行过程中,突然关闭项目并不会删除数据库。 * create-drop: 也是每次都是按项目创建一个新的数据库。但是 SessionFactory 关闭时,会删除数据库。 ​ 第一次运行项目必须使用 update 和 create,这样运行结束后,创建的数据库就还能保留。之后可以根据自己的选择,使用 none 或 update,使得之后的操作都是在原有数据库之上进行操作。最后到项目上线后,可以设置 none,将实体类修改对于 MySQL 的控制完全切断。