第一步——配置依赖
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
第二步——application.properties 设置配置文件
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:127.0.0.1}:3306/yunzhi_spring_boot?useSSL=falsespring.datasource.username=rootspring.datasource.password=000000spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver //MySQL 8 的spring.datasource.driver-class-name配置须要改为“com.mysql.cj.jdbc.Driver”spring.jpa.hibernate.ddl-auto=updatespring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect //在application.properties配置数据库引擎为InnoDB
hbm2ddl.auto有四个属性:
- create:每次加载 hibernate 时都会删除上一次的生成的表,而后依据你的 module 类再从新来生成新表,哪怕两次没有任何扭转也要这样执行(也就是删除->创立->执行)
- create-drop :每次加载 hibernate 时依据 model 类生成表,程序终止时,表就主动删除。
- update:最罕用的属性,第一次加载 hibernate 时依据 model 类会主动建设起表的构造(前提是先建设好数据库),当前加载 hibernate 时依据 model 类自动更新表构造,即便表构造扭转了,但表中的行依然存在,不会删除以前的行。要留神的是当部署到服务器后,表构造是不会被马上建设起来的,是要等利用第一次运行起来后才会。(没表->创立->操作 | 有表->更新没有的属性列->操作]
- validate:每次加载 hibernate 时,验证创立数据库表构造,只会和数据库中的表进行比拟,不会创立新表,然而会插入新值。(启动验证表构造->验证不胜利->我的项目启动失败)
第三步——创立实体类
@Entitypublic class Teacher { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Boolean sex; private String username; private String email; private Long createTime; private Long updateTime; public Teacher() { }......省略get/set办法}
第四步——重新启动后盾,此时数据库曾经实现了相应操作
如果想要晓得更具体的流程,举荐观看 https://segmentfault.com/a/11...