今天在使用代码访问数据库的时候,在执行了相关方法之后,发现IDEA下面一直在转圈,也没有报错,其实我已经猜到是什么原因了,就是MySQL驱动包的版本问题,所以在此记录一下,以便日后复习。
MySQL驱动5.x版本使用如下db.properties配置文件
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8 jdbc.username=root jdbc.password=root
<!-- MySql驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version> </dependency> <!-- druid数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.6</version> </dependency>
MySQL驱动6.x以上的版本使用如下db.properties配置文件
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf8&allowMultiQueries=true jdbc.username=root jdbc.password=root
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.24</version> </dependency>
与MySQL数据库的版本没有关系,只需修改MySQL驱动对应的版本即可。
Spring中的配置文件applicationContext.xml配置文件:
<!-- 引入外部属性文件 --> <context:property-placeholder location="classpath:db.properties"/> <!-- 配置数据源,引用外部属性文件中保存的数据 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="url" value="${jdbc.url}"/> <property name="driverClassName" value="${jdbc.driver}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean>