关注微信公众号:CodingTechWork,一起学习进步。
??本文主要介绍Spring Boot中使用JPA或JDBC进行数据库表结构创建的两种方式。
??在利用SpringBoot框架进行开发时,大部分服务避不开用数据库进行数据存储和使用。SpringBoot里面一般有两种方式进行数据表的创建和数据存储。
??一种是使用Spring Boot JPA,我们需要在application.yml
或者application.properties
中配置jpa相关属性spring.jpa.xxx
属性配置。另一种是Spring JDBC,我们需要在application.yml
或者application.properties
中配置JDBC相关属性,主要是spring.datasource.xxx
属性配置。当然,使用jpa也需要用到spring.datasource.url/username/password
等属性配置进行数据库地址、用户名、密码等配置。
spring:
datasource:
schema: classpath:db/schema.sql
data: classpath:db/data.sql
sql-script-encoding: UTF-8
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/infinite?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false
username: userA
password: 123456
jpa:
hibernate:
ddl-auto: none
database: mysql
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect
spring.datasource.schema
: 脚本中创建表的语句存放路径,classpath/db表示在工程的resource层级下的db目录中存放。spring.datasource.data
:脚本中初始化数据的语句存放路径。spring.datasource.sql-script-encoding
:设置脚本的编码,默认常用设置为UTF-8。spring.datasource.driver-class-name
:配置driver的类名,默认是从JDBC URL中自动探测。spring.datasource.url
:配置数据库JDBC连接串。spring.datasource.username
:配置数据库连接用户名。spring.datasource.password
:配置数据库连接用户名对应的密码。spring.jpa.hibernet.ddl-auto
设置成none,否则有啥问题,我也没尝试过。这样配置可以避免两种方式一起使用。spring.jpa.hibernet.ddl-auto
值说明update
这个属性配置。spring.jpa.database
配置数据库类型,我们常用MYSQL数据库,就配置MYSQL(大小写都可)即可;
spring.jpa.properties.hibernate.dialect
使用MYSQL5作为数据库访问方言。
??其实类比我们生活中的方言,方言就是某个地方的特色语言,这个语言区别于其他地方的语言,比如在江苏,有南通方言、盐城方言、苏州方言,只要你是当地人,你基本能听懂当地的方言。
??对于数据库的方言,也是同样的道理,MySQL是一种方言,Oracle也是一种方言,当然他们都遵循SQL规范的,就好比南通方言、盐城方言都遵循普通话规范,然后有各自的一个扩展性和特色。举个例子,MySQL分页是用limit
关键字,而Oracle分页是用rownum
关键字。
原文:https://www.cnblogs.com/Andya/p/13260130.html