springboot如何集成mysql

 更新时间:2023年08月14日 15:02:01   作者:贪吃小明  
这篇文章主要介绍了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'

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

总结

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

相关文章

  • SpringBoot中的JPA(Java Persistence API)详解

    SpringBoot中的JPA(Java Persistence API)详解

    这篇文章主要介绍了SpringBoot中的JPA(Java Persistence API)详解,JPA用于将 Java 对象映射到关系型数据库中,它提供了一种面向对象的方式来操作数据库,使得开发者可以更加方便地进行数据持久化操作,需要的朋友可以参考下
    2023-07-07
  • Spring Data JPA中findOne()和getOne()用法

    Spring Data JPA中findOne()和getOne()用法

    这篇文章主要介绍了Spring Data JPA中findOne()和getOne()的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Spring Security中的Servlet过滤器体系代码分析

    Spring Security中的Servlet过滤器体系代码分析

    这篇文章主要介绍了Spring Security中的Servlet过滤器体系,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java IO流之字符缓冲流实例详解

    Java IO流之字符缓冲流实例详解

    这篇文章主要介绍了Java IO流之字符缓冲流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • springboot配合Thymeleaf完美实现遍历功能

    springboot配合Thymeleaf完美实现遍历功能

    Thymeleaf显然是一个开发页面的技术,现在各种前端技术层出不穷,比如现在主流的Vue、React、AngularJS等。这篇文章主要介绍了springboot配合Thymeleaf完美实现遍历,需要的朋友可以参考下
    2021-09-09
  • idea maven 项目src下的配置文件没有同步至target的解决操作

    idea maven 项目src下的配置文件没有同步至target的解决操作

    这篇文章主要介绍了idea maven 项目src下的配置文件没有同步至target的解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Java打印斐波那契前N项的实现示例

    Java打印斐波那契前N项的实现示例

    这篇文章主要介绍了Java打印斐波那契前N项的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java基于IDEA实现qq邮件发送小程序

    Java基于IDEA实现qq邮件发送小程序

    这篇文章主要介绍了Java基于IDEA实现qq邮件发送小程序功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Spring高阶用法之自定义业务对象组件化

    Spring高阶用法之自定义业务对象组件化

    这篇文章主要介绍了Spring高阶用法之自定义业务对象组件化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 如何基于SpringBoot实现人脸识别功能

    如何基于SpringBoot实现人脸识别功能

    人工智能时代的到来,相信大家已耳濡目染,虹软免费,离线开放的人脸识别SDK,正推动着全行业进入刷脸时代,下面这篇文章主要给大家介绍了关于如何基于SpringBoot实现人脸识别功能的相关资料,需要的朋友可以参考下
    2022-05-05

最新评论