java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot集成mysql

springboot如何集成mysql

作者:贪吃小明

这篇文章主要介绍了springboot如何集成mysql问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

springboot集成mysql

引入依赖

在pom文件中加入如下依赖:

 <!--集成mysql数据库-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

添加数据库配置

在spring boot项目的配置文件 application.properties 中添加如下配置:

#集成mysql数据库的配置
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/studentscon?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

设计表和实体类

实体类对应数据库中的表结构

package com.test.springbootstudy.entity;
public class Student {
    private int id;
    private String name;
    private String password;
    private String sex;
    private int age;
    public Student() {
    }
    public Student(int id, String name, String password, String sex, int age) {
        this.id = id;
        this.name = name;
        this.password = password;
        this.sex = sex;
        this.age = age;
    }
    @Override
    public String toString() {
        return "Student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

测试

 	@Resource    // 自动注入,spring boot会帮我们实例化一个对象
    private JdbcTemplate jdbcTemplate;   // 一个通过JDBC连接数据库的工具类,可以通过这个工具类对数据库进行增删改查
    @Test
    public void mySqlTest(){
        String sql = "select id,name,password,sex,age from students";
        List<Student> students = jdbcTemplate.query(sql, new RowMapper<Student>() {
            @Override
            public Student mapRow(ResultSet resultSet, int i) throws SQLException {
                Student student = new Student();
                student.setId(resultSet.getInt("id"));
                student.setName(resultSet.getString("name"));
                student.setPassword(resultSet.getString("password"));
                student.setSex(resultSet.getString("sex"));
                student.setAge(resultSet.getInt("age"));
                return student;
            }
        });
        System.out.println("查询成功");
        for(Student s : students){
            System.out.println(s);
        }
    }

测试结果如下:

spring boot 连接 mysql结果

springboot集成mysql时报错

在使用springboot默认的mysql和mybatis时踩了一个坑,特此记录

首先,新版的mysql连接驱动要用:

com.mysql.cj.jdbc.Driver

启动后并未报错,但是访问的时候报以下错误:

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.

查询原因,是由于安装mysql的时候安装时区不对

解决方法如下

1.在database的url后面拼上"?serverTimezone=GMT%2B8",寓意为设置服务器时区为gmt+8;

2.修改安装文件中的my.ini,在mysqld节点下加上default-time-zone='+08:00'

修改完成后记得重启服务。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文