【问题标题】:getting : java.sql.SQLException: Unknown system variable 'language' spring boot获取:java.sql.SQLException:未知系统变量“语言”春季启动
【发布时间】:2018-07-23 02:41:31
【问题描述】:

我从 spring data jpa 开始,我已经配置了所有 spring 应用程序。我的引导类是

@SpringBootApplication
@ComponentScan("com.ticket.booking")
@EnableJpaRepositories("com.ticket.booking.dao")
@EntityScan("com.ticket.booking.entity")
public class TicketBookingManagementApplication {

public static void main(String[] args) {
    SpringApplication.run(TicketBookingManagementApplication.class, args);
}

}

我的控制器

 @RestController
 @RequestMapping(value="/api/ticket")
 public class TicketController {

@Autowired
private TicketService ticketService;



@GetMapping(value="/")
public String welcome(){
    return "Welcome to Ticket Booking Systems";
}

@PostMapping(value="/add")
public Ticket createTicket(@RequestBody Ticket ticket){
    return ticketService.createNewTicket(ticket);
}

@GetMapping(value="/get/{ticketId}")
public Ticket getTicket(@PathVariable ("ticketId") Integer ticketId){

    return ticketService.getTicketById(ticketId);
}

}

服务和存储库

 @Service
 public class TicketService {


@Autowired
private TicketDao ticketDao;


public Ticket createNewTicket(Ticket ticket) {
    // TODO Auto-generated method stub
    return ticketDao.save(ticket);
}


public Ticket getTicketById(Integer ticketId) {
    // TODO Auto-generated method stub
    return ticketDao.findOne(ticketId);
}


}


public interface TicketDao extends CrudRepository<Ticket, Integer>{}

在 pom.xml 中我添加了

   <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

它使用 mysql-connector-java-5.1.46.jar:5.1.46 并成功映射 req 但在运行应用程序时我收到类似的错误

  java.sql.SQLException: Unknown system variable 'language' 

并将架构导出到数据库

【问题讨论】:

  • 给出你的mysql版本
  • mysql 版本 5.1.30
  • 能否提供mysql的详细配置信息
  • 提供有问题的配置属性
  • @Vishal Kawade 立即查看

标签: mysql spring-boot spring-data-jpa


【解决方案1】:

更新你的 mysql-connector 版本。它会解决你的问题。

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.35</version>

属性:

spring.datasource.url=jdbc:mysql://localhost/schema_name
spring.datasource.username=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

【讨论】:

    【解决方案2】:

    我发布这个答案是因为有人可能会从中受益。

    就我而言,我使用的是 Spring-boot,所以 pom.xml 中的依赖项是

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    

    所以 Spring Boot 从 Spring Boot 父级获取了一些默认依赖版本,这与我的系统安装的 mysql-server 版本 5.1.22 不同,所以这就是该错误背后的原因。

    所以为了解决这个错误,我通过手动指定覆盖了版本,如下所示。

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.22</version>
    </dependency>
    

    它成功了。

    【讨论】:

      猜你喜欢
      • 2018-10-03
      • 2017-01-07
      • 2018-06-26
      • 2014-10-06
      • 1970-01-01
      • 2017-09-11
      • 2015-04-18
      • 2017-06-24
      • 2015-08-22
      相关资源
      最近更新 更多