1. 程式人生 > >Mysql8.0 連線設定

Mysql8.0 連線設定

mysql5的配置

<beans:bean id="jdbcDataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<beans:property name="username" value="root">
		</beans:property>
		<beans:property name="password" value="root">
		</beans:property>
		<beans:property name="url"
			value="jdbc:mysql://localhost:3306/ajia_store?characterEncoding=utf8">
		</beans:property>
		<beans:property name="driverClassName" value="com.mysql.jdbc.Driver">
		</beans:property>
	</beans:bean>

使用8.0後

修改pom之前用的是5.1.17

<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.11</version>
</dependency>

啟動報錯

Wed Sep 19 14:30:49 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
DEBUG [http-nio-80-exec-5] - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSe
[email protected]
] DEBUG [http-nio-80-exec-5] - Resolving exception from handler [public org.springframework.web.servlet.ModelAndView com.ajiatech.controller.AddressController.list() throws java.lang.Exception]: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

修改url和driverclass(Mysql官網配置連線

<beans:bean id="jdbcDataSource"
		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<beans:property name="username" value="root">
		</beans:property>
		<beans:property name="password" value="root">
		</beans:property> 
		<beans:property name="url"
			value="jdbc:mysql://localhost:3306/ajia_store?characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai">
		</beans:property>
		<beans:property name="driverClassName" value="com.mysql.cj.jdbc.Driver">
		</beans:property>
	</beans:bean>

jdbc:mysql://localhost:3306/ajia_store?characterEncoding=UTF8&serverTimezone=Asia/Shanghai,注意中間那個“&”,在xml中這個是讀不出的,正確寫法將“&”轉義“&amp;”。