哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮
有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。
文章目录
Spring Data了解下:
Spring Data官网:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/
Spring Data主要为数据访问提供一个相似的、一致的、基于Spring的编程模型,同时保留各个数据库的存储特征,这使得数据访问技术变得非常简单。
常用的整合数据模型有:Jdbc、MyBatis、durid
1 准备数据库
CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(32) NOT NULL COMMENT '用户名称',
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
insert into users values (null, '有勇气的牛排1', '18');
insert into users values (null, '有勇气的牛排2', '19');
insert into users values (null, '有勇气的牛排3', '20');

2 整合 JdbcTemplate
JdbcTemplate类是Spring对JDBC支持的核心,它提供了对数据库所有功能操作的支持。
2.1 pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
2.2 application.yml
spring:
datasource:
url: jdbc:mysql://localhost:3306/cs_test_springboot
username: root
password: root123456
driver-class-name: com.mysql.jdbc.Driver
2.3 后端
package com.couragesteak.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserService_jdbcTemplate {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/insertUser")
public String insertUser(String userName, Integer age) {
int update = jdbcTemplate.update("insert into users values (null, ?, ?)", userName, age);
return update > 0 ? "success" : "fail";
}
}
3 整合MyBatis
MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行了封装,使开发者只需要关注SQL本身,而不需要花费精力去处理注册驱动、创建connection、创建statement、手动设置参数等操作。
3.1 Maven依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
3.2 application.yml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.21</version>
</dependency>
3.3 用户实体 UserEntity.java
package com.couragesteak.entity;
public class UserEntity {
private Integer id;
private String userName;
private Integer age;
public UserEntity() {
}
public UserEntity(String userName, Integer age) {
this.userName = userName;
this.age = age;
}
public UserEntity(Integer id, String userName, Integer age) {
this.id = id;
this.userName = userName;
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
3.4 Mapper
接口: UserMapper.java
package com.couragesteak.mapper;
import com.couragesteak.entity.UserEntity;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface UserMapper {
@Insert("insert into users values (null, #{userName}, #{age});")
int insertUser(@Param("userName") String userName, @Param("age") Integer age);
@Select("select id, name, age from users where id=#{id}")
UserEntity selectByUserId(@Param("id") Integer id);
}
3.5 后端
package com.couragesteak.service;
import com.couragesteak.entity.UserEntity;
import com.couragesteak.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserService_MyBatis {
@Autowired
private UserMapper userMapper;
@RequestMapping("/mybatis_findUser")
public UserEntity mybatis_FindUserById(Integer id) {
System.out.println("======mybatis_FindUserById=======");
System.out.println(id);
return userMapper.selectByUserId(id);
}
@RequestMapping("/mybatis_insertUser")
public String mybatis_insertUser(String userName, Integer age) {
int insert = userMapper.insertUser(userName, age);
return insert > 0 ? "success" : "fail";
}
}

4 MySQL链接配置
4.1 驱动类 driver-classs-name
spring boot 2.0 (内置jdbc5驱动),驱动类使用:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false
spring boot 2.1+ (内置jdbc8驱动)
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false
否则运行测试用例报告如下错误:
java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more
参考地址:
https://www.couragesteak.com/article/289
<p><font face="楷体,华文行楷,隶书,黑体" color="red" size="4"><strong>哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮</strong></font></p>
<p><font face="楷体,华文行楷,隶书,黑体" color="blue" size="4"><strong>有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。</strong></font></p>
<p><h3>文章目录</h3><ul><ul><li><a href="#1__14">1 准备数据库</a></li><li><a href="#2__JdbcTemplate_33">2 整合 JdbcTemplate</a></li><ul><li><a href="#21_pom_37">2.1 pom依赖</a></li><li><a href="#22_applicationyml_53">2.2 application.yml</a></li><li><a href="#23__65">2.3 后端</a></li></ul><li><a href="#3_MyBatis_99">3 整合MyBatis</a></li><ul><li><a href="#31_Maven_103">3.1 Maven依赖</a></li><li><a href="#32_applicationyml_119">3.2 application.yml</a></li><li><a href="#33__UserEntityjava_136">3.3 用户实体 UserEntity.java</a></li><li><a href="#34_Mapper_194">3.4 Mapper</a></li><li><a href="#35__217">3.5 后端</a></li></ul><li><a href="#4_MySQL_266">4 MySQL链接配置</a></li><ul><li><a href="#41__driverclasssname_268">4.1 驱动类 driver-classs-name</a></li></ul></ul></ul></p>
<p>Spring Data了解下:</p>
<p>Spring Data官网:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/</p>
<p>Spring Data主要为数据访问提供一个相似的、一致的、基于Spring的编程模型,同时保留各个数据库的存储特征,这使得数据访问技术变得非常简单。</p>
<p>常用的整合数据模型有:Jdbc、MyBatis、durid</p>
<h2><a id="1__14"></a>1 准备数据库</h2>
<pre><div class="hljs"><code class="lang-sql"><span class="hljs-keyword">CREATE</span> <span class="hljs-keyword">TABLE</span> `users` (
`id` <span class="hljs-type">int</span>(<span class="hljs-number">11</span>) <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span> AUTO_INCREMENT,
`name` <span class="hljs-type">varchar</span>(<span class="hljs-number">32</span>) <span class="hljs-keyword">NOT</span> <span class="hljs-keyword">NULL</span> COMMENT <span class="hljs-string">'用户名称'</span>,
`age` <span class="hljs-type">int</span>(<span class="hljs-number">11</span>) <span class="hljs-keyword">DEFAULT</span> <span class="hljs-keyword">NULL</span>,
<span class="hljs-keyword">PRIMARY</span> KEY (`id`)
) ENGINE<span class="hljs-operator">=</span>InnoDB AUTO_INCREMENT<span class="hljs-operator">=</span><span class="hljs-number">3</span> <span class="hljs-keyword">DEFAULT</span> CHARSET<span class="hljs-operator">=</span>utf8;
</code></div></pre>
<pre><div class="hljs"><code class="lang-sql"><span class="hljs-keyword">insert</span> <span class="hljs-keyword">into</span> users <span class="hljs-keyword">values</span> (<span class="hljs-keyword">null</span>, <span class="hljs-string">'有勇气的牛排1'</span>, <span class="hljs-string">'18'</span>);
<span class="hljs-keyword">insert</span> <span class="hljs-keyword">into</span> users <span class="hljs-keyword">values</span> (<span class="hljs-keyword">null</span>, <span class="hljs-string">'有勇气的牛排2'</span>, <span class="hljs-string">'19'</span>);
<span class="hljs-keyword">insert</span> <span class="hljs-keyword">into</span> users <span class="hljs-keyword">values</span> (<span class="hljs-keyword">null</span>, <span class="hljs-string">'有勇气的牛排3'</span>, <span class="hljs-string">'20'</span>);
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/ef32425745407f7d1f9f99ff16cb1981.png" alt="image.png" /></p>
<h2><a id="2__JdbcTemplate_33"></a>2 整合 JdbcTemplate</h2>
<p>JdbcTemplate类是Spring对JDBC支持的核心,它提供了对数据库所有功能操作的支持。</p>
<h3><a id="21_pom_37"></a>2.1 pom依赖</h3>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-comment"><!-- SpringBoot整合jdbc 模板框架 --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-jdbc<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
<span class="hljs-comment"><!-- SpringBoot整合mysql驱动类 --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>mysql<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>mysql-connector-java<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>5.1.21<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
</code></div></pre>
<h3><a id="22_applicationyml_53"></a>2.2 application.yml</h3>
<pre><div class="hljs"><code class="lang-yaml"><span class="hljs-attr">spring:</span>
<span class="hljs-comment"># 整合 JdbcTemplate</span>
<span class="hljs-attr">datasource:</span>
<span class="hljs-attr">url:</span> <span class="hljs-string">jdbc:mysql://localhost:3306/cs_test_springboot</span>
<span class="hljs-attr">username:</span> <span class="hljs-string">root</span>
<span class="hljs-attr">password:</span> <span class="hljs-string">root123456</span>
<span class="hljs-attr">driver-class-name:</span> <span class="hljs-string">com.mysql.jdbc.Driver</span>
</code></div></pre>
<h3><a id="23__65"></a>2.3 后端</h3>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">/*
* @Author : 有勇气的牛排
* @FileName: UserService_jdbcTemplate.java
* desc :
* */</span>
<span class="hljs-keyword">package</span> com.couragesteak.service;
<span class="hljs-keyword">import</span> org.springframework.beans.factory.annotation.Autowired;
<span class="hljs-keyword">import</span> org.springframework.jdbc.core.JdbcTemplate;
<span class="hljs-keyword">import</span> org.springframework.web.bind.annotation.RequestMapping;
<span class="hljs-keyword">import</span> org.springframework.web.bind.annotation.RestController;
<span class="hljs-meta">@RestController</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">UserService_jdbcTemplate</span> {
<span class="hljs-meta">@Autowired</span>
<span class="hljs-keyword">private</span> JdbcTemplate jdbcTemplate;
<span class="hljs-comment">/*
* 插入数据到user表
* */</span>
<span class="hljs-comment">// http://127.0.0.1:8080/insertUser?userName=cs666&age=21</span>
<span class="hljs-meta">@RequestMapping("/insertUser")</span>
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">insertUser</span><span class="hljs-params">(String userName, Integer age)</span> {
<span class="hljs-type">int</span> <span class="hljs-variable">update</span> <span class="hljs-operator">=</span> jdbcTemplate.update(<span class="hljs-string">"insert into users values (null, ?, ?)"</span>, userName, age);
<span class="hljs-keyword">return</span> update > <span class="hljs-number">0</span> ? <span class="hljs-string">"success"</span> : <span class="hljs-string">"fail"</span>;
}
}
</code></div></pre>
<h2><a id="3_MyBatis_99"></a>3 整合MyBatis</h2>
<p>MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行了封装,使开发者只需要关注SQL本身,而不需要花费精力去处理注册驱动、创建connection、创建statement、手动设置参数等操作。</p>
<h3><a id="31_Maven_103"></a>3.1 Maven依赖</h3>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-comment"><!-- springboot 整合mybatis --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.mybatis.spring.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>mybatis-spring-boot-starter<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>1.1.1<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>mysql<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>mysql-connector-java<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>5.1.21<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
</code></div></pre>
<h3><a id="32_applicationyml_119"></a>3.2 application.yml</h3>
<pre><div class="hljs"><code class="lang-xml"><span class="hljs-comment"><!-- springboot 整合mybatis --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.mybatis.spring.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>mybatis-spring-boot-starter<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>1.1.1<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
<span class="hljs-comment"><!-- SpringBoot整合mysql驱动类 --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>mysql<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>mysql-connector-java<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>5.1.21<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
</code></div></pre>
<h3><a id="33__UserEntityjava_136"></a>3.3 用户实体 UserEntity.java</h3>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">/*
* @Author : 有勇气的牛排
* @FileName: UserEntity.java
* desc :
* */</span>
<span class="hljs-keyword">package</span> com.couragesteak.entity;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">UserEntity</span> {
<span class="hljs-keyword">private</span> Integer id;
<span class="hljs-keyword">private</span> String userName;
<span class="hljs-keyword">private</span> Integer age;
<span class="hljs-keyword">public</span> <span class="hljs-title function_">UserEntity</span><span class="hljs-params">()</span> {
}
<span class="hljs-keyword">public</span> <span class="hljs-title function_">UserEntity</span><span class="hljs-params">(String userName, Integer age)</span> {
<span class="hljs-built_in">this</span>.userName = userName;
<span class="hljs-built_in">this</span>.age = age;
}
<span class="hljs-keyword">public</span> <span class="hljs-title function_">UserEntity</span><span class="hljs-params">(Integer id, String userName, Integer age)</span> {
<span class="hljs-built_in">this</span>.id = id;
<span class="hljs-built_in">this</span>.userName = userName;
<span class="hljs-built_in">this</span>.age = age;
}
<span class="hljs-keyword">public</span> Integer <span class="hljs-title function_">getId</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> id;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setId</span><span class="hljs-params">(Integer id)</span> {
<span class="hljs-built_in">this</span>.id = id;
}
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">getUserName</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> userName;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setUserName</span><span class="hljs-params">(String userName)</span> {
<span class="hljs-built_in">this</span>.userName = userName;
}
<span class="hljs-keyword">public</span> Integer <span class="hljs-title function_">getAge</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> age;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">setAge</span><span class="hljs-params">(Integer age)</span> {
<span class="hljs-built_in">this</span>.age = age;
}
}
</code></div></pre>
<h3><a id="34_Mapper_194"></a>3.4 Mapper</h3>
<p>接口: UserMapper.java</p>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">package</span> com.couragesteak.mapper;
<span class="hljs-keyword">import</span> com.couragesteak.entity.UserEntity;
<span class="hljs-keyword">import</span> org.apache.ibatis.annotations.Insert;
<span class="hljs-keyword">import</span> org.apache.ibatis.annotations.Param;
<span class="hljs-keyword">import</span> org.apache.ibatis.annotations.Select;
<span class="hljs-keyword">public</span> <span class="hljs-keyword">interface</span> <span class="hljs-title class_">UserMapper</span> {
<span class="hljs-meta">@Insert("insert into users values (null, #{userName}, #{age});")</span>
<span class="hljs-type">int</span> <span class="hljs-title function_">insertUser</span><span class="hljs-params">(<span class="hljs-meta">@Param("userName")</span> String userName, <span class="hljs-meta">@Param("age")</span> Integer age)</span>;
<span class="hljs-meta">@Select("select id, name, age from users where id=#{id}")</span>
UserEntity <span class="hljs-title function_">selectByUserId</span><span class="hljs-params">(<span class="hljs-meta">@Param("id")</span> Integer id)</span>;
}
</code></div></pre>
<h3><a id="35__217"></a>3.5 后端</h3>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">/*
* @Author : 有勇气的牛排
* @FileName: UserService_MyBatis.java
* desc :
* */</span>
<span class="hljs-keyword">package</span> com.couragesteak.service;
<span class="hljs-keyword">import</span> com.couragesteak.entity.UserEntity;
<span class="hljs-keyword">import</span> com.couragesteak.mapper.UserMapper;
<span class="hljs-keyword">import</span> org.springframework.beans.factory.annotation.Autowired;
<span class="hljs-keyword">import</span> org.springframework.web.bind.annotation.RequestMapping;
<span class="hljs-keyword">import</span> org.springframework.web.bind.annotation.RestController;
<span class="hljs-meta">@RestController</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">UserService_MyBatis</span> {
<span class="hljs-meta">@Autowired</span>
<span class="hljs-keyword">private</span> UserMapper userMapper;
<span class="hljs-comment">/**
* MyBatis 查询数据
*/</span>
<span class="hljs-comment">// http://127.0.0.1:8080/mybatis_findUser?id=3</span>
<span class="hljs-meta">@RequestMapping("/mybatis_findUser")</span>
<span class="hljs-keyword">public</span> UserEntity <span class="hljs-title function_">mybatis_FindUserById</span><span class="hljs-params">(Integer id)</span> {
System.out.println(<span class="hljs-string">"======mybatis_FindUserById======="</span>);
System.out.println(id);
<span class="hljs-keyword">return</span> userMapper.selectByUserId(id);
}
<span class="hljs-comment">/**
* MyBatis 插入数据
*/</span>
<span class="hljs-comment">// http://127.0.0.1:8080/mybatis_insertUser?userName=cs7&age=22</span>
<span class="hljs-meta">@RequestMapping("/mybatis_insertUser")</span>
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">mybatis_insertUser</span><span class="hljs-params">(String userName, Integer age)</span> {
<span class="hljs-type">int</span> <span class="hljs-variable">insert</span> <span class="hljs-operator">=</span> userMapper.insertUser(userName, age);
<span class="hljs-keyword">return</span> insert > <span class="hljs-number">0</span> ? <span class="hljs-string">"success"</span> : <span class="hljs-string">"fail"</span>;
}
}
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/b609f99beba20dee2f7a95deb49bc232.png" alt="image.png" /></p>
<h2><a id="4_MySQL_266"></a>4 MySQL链接配置</h2>
<h3><a id="41__driverclasssname_268"></a>4.1 驱动类 driver-classs-name</h3>
<p>spring boot 2.0 (内置jdbc5驱动),驱动类使用:</p>
<pre><div class="hljs"><code class="lang-yml"><span class="hljs-attr">driver-class-name:</span> <span class="hljs-string">com.mysql.jdbc.Driver</span>
<span class="hljs-attr">url:</span> <span class="hljs-string">jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=false</span>
</code></div></pre>
<p>spring boot 2.1+ (内置jdbc8驱动)</p>
<pre><div class="hljs"><code class="lang-yml"><span class="hljs-attr">driver-class-name:</span> <span class="hljs-string">com.mysql.cj.jdbc.Driver</span>
<span class="hljs-attr">url:</span> <span class="hljs-string">jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=utf-8&useSSL=false</span>
</code></div></pre>
<p>否则运行测试用例报告如下错误:<br />
<code>java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more</code></p>
<p>参考地址:</p>
<p><a href="https://www.couragesteak.com/article/289" target="_blank">https://www.couragesteak.com/article/289</a></p>
<ul>
<li>余胜军</li>
<li>尚硅谷</li>
</ul>
留言