在春季启动时将h2更改为mysql db获取错误

问题描述

我正在使用Spring Boot v2.3.5。

我的问题是我设置了变量 “ hibernate.dialect”到MysqL5InnoDBDialect。

然后会在创建表时返回该MysqL语法错误错误

import React,{ useState } from "react";
import "./styles.css";

export default function Demo2() {
  const [selectedOption,setSelectedOption] = useState("Male");

  const onValueChange = (event) => {
    setSelectedOption(event.target.value);
  };

  const formSubmit = (event) => {
    event.preventDefault();
    console.log(selectedOption);
  };

  return (
    <form onSubmit={formSubmit}>
      <div className="radio">
        <label>
          <input
            type="radio"
            value="Male"
            checked={selectedOption === "Male"}
            onChange={onValueChange}
          />
          Male
        </label>
      </div>
      <div className="radio">
        <label>
          <input
            type="radio"
            value="Female"
            checked={selectedOption === "Female"}
            onChange={onValueChange}
          />
          Female
        </label>
      </div>
      <div>
        <button type="submit">Submit</button>
      </div>
    </form>
  );
}

但是实际上,当我复制该命令时,它可以工作。另外,当我将选项从Innodb更改为H2 db时,它可以工作。

对我的问题有任何想法吗?

解决方法

如果要在不同的数据库之间切换数据源,则必须正确更新配置。根据您提供的可用信息,我认为您需要按以下步骤进行更新:

spring.jpa.properties.hibernate.dialect = MySQL5InnoDBDialect
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost/yourDbName
spring.datasource.username = dbUsername
spring.datasource.password = dbPassword

请根据您的环境更新网址,用户名和密码