当我使用 spring 引导时无法连接到 mysql

Fail to connect to mysql when I using spring boot

我想用 spring 启动一个网络服务器,但是当我尝试连接到我的数据库时,出现了一些错误。 这是我的部分代码。

@Controller
public class BackgroundController {

private JdbcTemplate jdbcTemplate;
@RequestMapping("/RankingList")
@ResponseBody
public String RankingList(Model model){
    String sql="select userName,score from user;";
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    try {
        list = jdbcTemplate.queryForList(sql);
    }catch (Exception e){
        return e.toString();
    }//return "RankingList";
}

}

下面是pom.xml中的依赖;

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

这里是 application.properties 的一些部分,其中 'em' 是我的数据库的名称;

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/em
spring.datasource.username=root
spring.datasource.password=qwerty
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

这是我的数据库的status

Connection id:          3
Current database:       em
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.7.18-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306

但是当我得到 url:http://localhost:4908/RankingList 时,输出是 java.lang.NullPointerException.

我想得到帮助,我将不胜感激。

您应该将 @Autowired 添加到 private JdbcTemplate jdbcTemplate;