SSH框架--Hibernate配置

问题:

连接mysql数据库报错Connections could not be acquired from the underlying database!

解决流程:

1.检查Hibernate.cfg.xml配置文件中的驱动、URL、用户名和密码都没有问题

2.检查驱动,没问题

3.做sql连接测试,连接成功

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class sqlTest {
    private static String url = "jdbc:mysql://localhost:端口号/数据库名";//数据库服务地址

    private static String driver = "com.mysql.jdbc.Driver";//驱动路径
    private static String username = "root";
    private static String password = "密码";
    private static String sql = "insert into test values(?,?)";//数据库操作语句
    
    public static void main(String[] args) throws Exception {
 
        try {
            Class.forName(driver);//注册
            Connection con = DriverManager.getConnection(url, username, password);//连接
            PreparedStatement t1 = con.prepareStatement(sql);//用来执行SQL语句查询,对sql语句进行预编译处理
            t1.setString(1, "rfrfffrff");
           t1.setInt(2, 1nsuu);
           t1.executeUpdate();
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        }
        
    } }

4.仔细查看报错:发现有这么一句

Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.

 资源池无法从其主工厂或源获取资源,测试连接数据库成功

说明有可能是资源池的问题,参考这位博主的做法,因此更换资源池jar包,失败。

5.最后发现项目文件夹上显示有红色感叹号,才发现是环境配置的问题(这个项目是直接导入的写好的代码),jre版本不兼容

解决方案:

点击文件右键-->构建路径-->配置构建路径-->库-->可以看到JRE系统库这里是有红色感叹号的,点击-->编辑-->勾选默认JRE-->应用,即可

 每次测试程序都会提示我程序有错误,但我看了一下代码,没有发现是代码有问题,也就没有在意,但没想到是JRE的问题。

原文地址:https://www.cnblogs.com/helloworldToDu/p/12670574.html