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'

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

总结

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

相关文章

  • 解决dubbo错误ip及ip乱入问题的方法

    解决dubbo错误ip及ip乱入问题的方法

    今天小编就为大家分享一篇关于解决dubbo错误ip及ip乱入问题的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • java 微信随机红包算法代码实例

    java 微信随机红包算法代码实例

    这篇文章主要介绍了java 微信随机红包算法的相关资料,并附实例代码,需要的朋友可以参考下
    2016-10-10
  • Micronaut框架的简单使用介绍

    Micronaut框架的简单使用介绍

    这篇文章主要介绍了Micronaut框架的简单使用介绍,帮助大家更好的理解和学习使用Micronaut,感兴趣的朋友可以了解下
    2021-04-04
  • SpringBoot整合logback日志的详细步骤

    SpringBoot整合logback日志的详细步骤

    这篇文章主要介绍了SpringBoot整合logback日志的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • springboot整合Excel填充数据代码示例

    springboot整合Excel填充数据代码示例

    这篇文章主要给大家介绍了关于springboot整合Excel填充数据的相关资料,文中通过代码示例介绍的非常详细,对大家学习或者使用springboot具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • JWT令牌的工作原理详解

    JWT令牌的工作原理详解

    这篇文章主要介绍了JWT令牌的工作原理详解,在认证的时候,当用户用他们的的凭证成功登录以后,一个JSON Web Token将会被返回,此后,用户名和密码就不再是用户的凭证,而token是用户用来访问资源的新凭证了,需要的朋友可以参考下
    2023-08-08
  • java合成模式之神奇的树结构

    java合成模式之神奇的树结构

    这篇文章主要介绍了java合成模式,文中运用大量的代码进行详细讲解,希望大家看完本文后能学习到相关的知识,需要的朋友可以参考一下
    2021-08-08
  • Java中YYYY-MM-dd与yyyy-MM-dd的区别及跨年问题

    Java中YYYY-MM-dd与yyyy-MM-dd的区别及跨年问题

    YYYY-MM-dd可能会导致跨年周的日期被归属到错误的年份, yyyy-MM-dd总是表示实际的日历年份,无论日期所在的周是否跨年,本文就来介绍一下两者的区别,感兴趣的可以了解一下
    2024-01-01
  • java 中如何实现 List 集合去重

    java 中如何实现 List 集合去重

    这篇文章主要介绍了java 中如何实现 List 集合去重,List 去重指的是将 List 中的重复元素删除掉的过程,下文操作操作过程介绍需要的小伙伴可以参考一下
    2022-05-05
  • java实现系统捕获异常发送邮件案例

    java实现系统捕获异常发送邮件案例

    这篇文章主要为大家详细介绍了java实现系统捕获异常发送邮件案例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11

最新评论