spring中bean配置8.0版本数据库,时区解决问题!
使用属性文件配置请看另外一篇文章
spring中bean配置8.0版本数据库(使用属性文件配置)
话不多说,直接上代码!
如果jdbcurl那一行不加上后面的server…就会报时区错误!
这是mysql8.0版本独有的错误
并且8.0版本的驱动为:
com.mysql.cj.jdbc.Driver
并非以往的:
com.mysql.jdbc.Driver
p标签作用类似于property,不必细看,第四行为导入p
bean文件为:(重点在jdbcurl那一行)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:user="root" p:password="123456" p:driverClass="com.mysql.cj.jdbc.Driver" p:jdbcUrl="jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8"> </bean> </beans>
测试类:
package springDemo.properties; import java.sql.SQLException; import javax.sql.DataSource; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) throws SQLException { // TODO Auto-generated method stub ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-properties.xml"); DataSource dataSource = (DataSource)ctx.getBean("dataSource"); System.out.println(dataSource.getConnection()); } }
谢谢大家!喜欢有用点个关注哦!