数据库链接不上 一直报错HTTP Status 500 - Could not open Hibernate Session for transaction; nested exception is

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/xcxshop?&useUnicode=true&characterEncoding=utf-8&autoReconnect=true
jdbc.username=root
jdbc.password=123456

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        >
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

这该怎么该啊

数据库名后面多了一个连接符&

jdbc.url=jdbc:mysql://localhost:3306/xcxshop?useUnicode=true&characterEncoding=utf-8&autoReconnect=true

数据库用的是mysql5版本的吗
mysql5对应的驱动类:

jdbc.driverClassName=com.mysql.jdbc.Driver

mysql8对应的驱动类:

jdbc.driverClassName=com.mysql.cj.jdbc.Driver

既然是数据库链接错误,就找数据库的问题,首先你的url多写了一个&,你需要去掉
jdbc:mysql://localhost:3306/xcxshop?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
还有就是注意mysql版本,你写的驱动是mysql5版本的,如果你使用的是mysql8,则对应的驱动应该是
com.mysql.cj.jdbc.Driver
还有一个就是你的代码提供信息不全,是否在配置文件中有读取数据库的配置文件,比如

<context:property-placeholder location="classpath:db.properties" system-properties-mode="NEVER"/>

你提供的异常信息有限,不太能看出是什么问题,可以尝试使用可视化工具先连接数据库,看能不能正常连接。
唯一看出的问题是jdbc:mysql连接串中?后应该跟参数名不应该直接跟&