Spring整合mybatis并使用driud数据库连接池,MySQL报错

第一类错误:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
这个错误是指:连接超时

原因:mysql5将其连接的等待时间(wait_timeout)缺省为8小时。

解决方法:

前提得先进到mysql工作台:

1,先开mysql,输入  show global variables like 'wait_timeout';   这句,就会显示出时间了,

mysql﹥ show global variables like 'wait_timeout'; 

+---------------+---------+ 

| Variable_name | Value | 

+---------------+---------+ 

| wait_timeout | 28800 | 

+---------------+---------+ 

1 row in set (0.00 sec) 

解释:Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。这就是问题的所。将会造成上面的异常。
2 set global wait_timeout=604800; 
3 set global interactive_timeout=604800;
输入以上两句就可以解决这个问题了,
【有需要重启则重启数据库,或者重启电脑连接数据库生效】

 

第二类错误:The connection property 'zeroDateTimeBehavior' only accepts values of the form: 'exception', 'round'

原因:

JDBC url=jdbc:mysql://xxx.aliyuncs.com:3306/xxxxx?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

看看是不是多写空格

 

第三类错误:java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized

MySQL乱码问题:MySQL 8.0以上版本(MySQL连接驱动和版本都是8.0以上)的时候出现的问题错误

解决:

问数据库的Url后面加上以下的语句即可:

?serverTimezone=GMT%2B8

如:jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8

第四类错误:【最坑的】

Spring整合mybatis并使用driud数据库连接池,启动测试类就报”MySQLNonTransientConnectionException: Could not create connection to database server.

如果你的配置文件确认没错的话,不妨看看pom文件MySQLb版本问题,我的是5.1.2版本报了错,换成8.0.12版本重启,成功了!

参考配置文件:

url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
 
driver: com.mysql.cj.jdbc.Driver


有问题可以参考这篇:https://blog.csdn.net/beyond9305/article/details/80330125

有需自转,是否解决问题给我个反馈。
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是现代的Java应用程序框架,为开发人员提供了便捷高效的开发工具,通过自动化配置,可以快速构建各种不同类型的应用程序。在Spring Boot中使用MySQL数据库连接、Hikari连接池MyBatis也非常容易,下面我们来简单介绍一下相关配置方法: 第一步:添加MySQL和Hikari依赖 在Spring Boot项目中,添加MySQL和Hikari依赖非常简单。只需在项目的pom.xml文件中添加以下依赖: ```xml <dependencies> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version> </dependency> </dependencies> ``` 第二步:配置数据源和连接池Spring Boot中,可以通过配置文件application.yml或application.properties来配置数据源和连接池。以下是application.yml的示例配置: ```yml spring: datasource: url: jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8 username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource hikari: pool-name: HikariCP minimum-idle: 5 maximum-pool-size: 20 idle-timeout: 60000 pool-prepared-statements: true max-open-prepared-statements: 10 connection-test-query: SELECT 1 ``` 第三步:配置MybatisSpring Boot项目中,Mybatis可以通过xml配置和注解配置两种方式来使用。下面我们以xml配置为例。 1. 配置mybatis-config.xml 在resources目录下创建mybatis-config.xml,配置Mybatis的全局配置文件,例如开启驼峰命名转换: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <settings> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings> </configuration> ``` 2. 配置mapper 在mapper中定义SQL语句,并与对应的Java接口关联,例如: ```java @Mapper public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User findById(@Param("id") long id); } ``` 3. 配置SqlSessionFactory 在Spring Boot项目中,可以通过MybatisAutoConfiguration自动配置SqlSessionFactory,也可以手动配置SqlSessionFactory。手动配置SqlSessionFactory的示例代码: ```java @Configuration @MapperScan(basePackages={"com.example.mapper"}) public class MybatisConfig { @Autowired private DataSource dataSource; @Value("${mybatis.type-aliases-package}") private String typeAliasesPackage; @Value("${mybatis.mapper-locations}") private String mapperLocations; @Bean(name = "sqlSessionFactory") public SqlSessionFactoryBean sqlSessionFactoryBean() { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); try { ResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver(); bean.setTypeAliasesPackage(typeAliasesPackage); bean.setMapperLocations(patternResolver.getResources(mapperLocations)); bean.setConfigLocation(new ClassPathResource("mybatis-config.xml")); return bean; } catch (Exception e) { throw new RuntimeException("Failed to configure SqlSessionFactory", e); } } } ``` 以上就是Spring Boot配置MySQL数据库连接、Hikari连接池Mybatis的介绍,通过这些配置,可以快速搭建数据库连接和数据管理的系统,提高开发效率和代码可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值