Spring Boot 连接mysql踩坑之旅
第一个错误:
一开始配置号以后会提示找不到mysql驱动,检查maven已把驱动包下载到工程,配置的名称也对,最后发现在
com.mysql.jdbc.Driver的后面有空格,启动时不会自动消除空格。把配置文件过了一编,将所有多余的空格去掉,不在报这个错误
第二个错误:
上一个错误好了之后开始报Communications link failure错误,检查后发现是个低级错误,连接的数据库没有开远程权限。
第三个错误:
上面解决后报:he server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 的错误,是因为在数据库url后面没有配置字符串,将:useUnicode=true&characterEncoding=utf8&serverTimezone=GMT这句配置加到后面运行正常
maven配置如下:
[code]<!-- mysql 数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <!-- JPA --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
application.properties配置如下
[code]server.port=8081 ######################################################## ###datasource ######################################################## spring.datasource.url = jdbc:mysql://*******:3306/map?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT spring.datasource.driverClassName = com.mysql.jdbc.Driver spring.datasource.username = dingding spring.datasource.password = 123456 spring.datasource.tomcat.max-active=100 spring.datasource.tomcat.max-idle=200 spring.datasource.tomcat.initialSize=20 ######################################################## ### Java Persistence Api ######################################################## # Specify the DBMS spring.jpa.database=MYSQL # Show or not log for each sql query spring.jpa.show-sql = true # Hibernate ddl auto (create, create-drop, update) spring.jpa.hibernate.ddl-auto = update # stripped before adding them to the entity manager) spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
第四个问题:
这个不算错误但看着难受,发现运行程序后会自动创建hibernate_sequence表,里面存储的其他表的主键,没添加新数据时都会更新这个主键值。不想每次都查询这个表。
查资料发现是因为实体的id列用了@GeneratedValue
改为@GeneratedValue(strategy = GenerationType.IDENTITY) 。
但是改完之后如果运行过程序自动创建过表,需要删除表让系统重新创建,或者去数据库设置id列自增长,否则会报错。
原因:
@GeneratedValue(strategy = GenerationType.IDENTITY) 要求数据库选择自增方式,oracle不支持此种方式。
@GeneratedValue(strategy = GenerationType.SEQUENCE)采用数据库提供的sequence机制生成主键。mysql不支持此种方式。
- SpringBoot之连接MySQL,JPA操作
- spring boot整合mybatis使用c3p0数据源连接mysql
- Spring Boot多数据源连接8小时后断开的问题解决(MySQL)
- spring boot mysql 8小时连接超时
- docker连接spring boot和mysql容器方法介绍
- spring boot2.0 连接mysql ,自定义JpaRepository 分页, 封装jpa底层sql(二)
- Spring Boot应用连接数据库MySQL
- spring boot整合mybatis使用c3p0数据源连接mysql
- Spring Boot使用mybatis连接mysql
- spring boot 连接mysql 数据库版本不匹配连接错误问题
- Spring Boot应用连接数据库MySQL,并编写自定义SQL
- springboot+mybatis数据源的读写分离(mysql,后期连接设置,前期项目没做好的忽入会蒙的)
- 简单的用jdbc使spring boot项目同时连接Oracle和Mysql数据源
- Spring Boot+MyBatis 电商项目 -03- MySQL 连接、DRUID、MyBatis-generato 配置及测试
- springboot2.1.1连接mysql8.0.13遇到的问题解决
- Springboot项目中解决Druid DataSource 连接Mysql 存取 emoji表情
- docker连接spring boot和mysql容器
- Spring Boot 与 Kotlin 使用JdbcTemplate连接MySQL
- SpringBoot之Mybatis连接MySQL进行CRUD(注解&配置文件)(简测试版)
- SpringBoot项目连接oracle,mysql的配置,maven项目