MySQL默认不允许远程登录,所以需要先设置一下。假设安装时设置的管理员密码为123456。打开MySQL,输入以下命令并执行:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
以上命令将设置允许在本地以用户名root,密码123456连接到MySQL,并具有所有权限。
打开DOS界面,进入MySQL的bin目录(如果你没有把该目录添加到环境变量path的话),尝试连接MySQL:
mysql -u root -p123456
注意参数-p之后没有空格。如果看到提示符mysql>说明连接成功。
接下来创建数据库"springboot"和数据表"user":
CREATE DATABASE springboot;
USE springboot;
CREATE TABLE user(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, age INT NOT NULL);
SHOW COLUMNS FROM user;
应该可以看到以下输出。

插入两条数据:
INSERT INTO user (name, age) VALUES ("Xiaoming", 19), ("小红", 20);
SELECT * FROM user;

数据库相关的配置就完成了。接下来配置springboot。
首先创建一个项目,这里命名为jdbc。打开项目的pom.xml文件,添加以下依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
也可以选择在创建项目的时候,选中 Spring Web、JDBC API和MySQL Driver。
打开src/main/resources/application.properties文件,输入以下内容:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springboot?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
保存。新建三个java源文件JdbcDemo.java/User.java/UserMapper.java,如下:

JdbcDemo.java内容如下:
package com.example.demo;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import entity.User;
import entity.UserMapper;
@RestController
public class JdbcDemo {
@Resource
private JdbcTemplate JdbcTemplateObject;
@RequestMapping("/jdbc")
public List<User> JdbcTest() {
String sql = "SELECT * FROM user";
List<User> users = JdbcTemplateObject.query(sql, new UserMapper());
return users;
}
}
User.java内容如下:
package entity;
public class User {
private Integer id;
private String name;
private Integer age;
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return this.age;
}
public void setAge(Integer age) {
this.age = age;
}
}
UserMapper.java内容如下:
package entity;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;
public class UserMapper implements RowMapper<User> {
public User mapRow(ResultSet rs, int rowNum) throws SQLException{
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setAge(rs.getInt("age"));
return user;
}
}
保存。运行项目,访问localhost:8080/jdbc,应该可以看到以下输出:

到此数据库连接完成。

