高亮!
楼主踩过的坑:
1、浏览器查看时 出现White Lable Error page 错误,百度说可能时缺少部分依赖,但是具体缺少哪个我也还有点懵,把网上出现过的可能出现的依赖都加进去了
2、添加 Mysql-connector-java的依赖时,需要注意MySQL的版本;楼主mysql版本是mysql5.7,用的是mysql-connector-java 8.0.17的依赖包,可以成功驱动
3、数据库的用户名和密码要根据自己本地的进行修改;访问的数据库和表也要改成自己本地实际存在的
1、搭建SpringBoot项目
首先我们先在IDEA上创建一个SpringBoot的Web项目
(1)file ——> new ——> project——> Spring Initializr
(2)——> next
这里是包路径前缀,可修改也可不修改(默认)com.example.demo
(3)——> next
这里要选择包依赖关系:
web:选择Spring Web;SQL:选择 MySQL Driver、JDBC API、MyBiats Framework
(4)——> next
(5)——> finish
经过以上步骤,便已经创建了一个SpringBoot的项目。
2、连接Mysql数据库
将项目连接上MySql数据库
首先我们将需要的包导入,这几个包都是我们稍后要用到的:
(1) 在pom.xml依赖里加入如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
(2)将application.properties文件重命名为application.yml
(3)在application.yml配置你数据库的信息
数据库名称、用户名、登录密码均改成自己的就可(我这里数据库是mysqltest)
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mysqltest?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
启动一下,没有报错。配置成功了。
3、测试是否成功
(1)建立一个controller包,在它下面创建一个TestController类
在 TestController 类中,代码如下:
package com.example.demo.controller;
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;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@RestController
public class TestController {
@Autowired
private JdbcTemplate jdbcTemplate;
@RequestMapping("/mysql")
public List<Map<String, Object>> getDbType(){
String sql = "select * from student";
List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
for (Map<String, Object> map : list) {
Set<Map.Entry<String, Object>> entries = map.entrySet( );
if(entries != null) {
Iterator<Map.Entry<String, Object>> iterator = entries.iterator( );
while(iterator.hasNext( )) {
Map.Entry<String, Object> entry =(Map.Entry<String, Object>) iterator.next( );
Object key = entry.getKey( );
Object value = entry.getValue();
System.out.println(key+":"+value);
}
}
}
return list;
}
}
需要注意的是,上面代码里的SQL语句需要根据自己数据库中的表进行修改。我这里的表是 student;
然后在浏览器输入 localhost:8080/mysql ,得到如下结果:
和我数据库中的student表作对比,发现数据是相符的