SpringBoot上MySQL的连接与使用

一直想将之前写的的微信小程序毕业设计重构一遍,把新的框架技术应用在里面替代原始的JSP和JDBC,于是就有了今天的话题。

首先,已经搭建好了SpringBoot框架。

然后开始,在SpringBoot上简历MySQL连接。

添加所需的jar包

  • 引入jdbc支持

    org.springframework.boot
    spring-boot-starter-jdbc
  • 引入MySQL连接依赖包

    mysql
    mysql-connector-java

在Springboot配置文件中配置数据源信息:

我理解里application.properties文件和application.yml文件作用一致,格式不一样,因此下面两种配置一个就ok.

application.properties:

spring.datasource.url=jdbc:mysql://localhost:3306/hbeunews
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

application.yml:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/hbeunews
    username: root
    password: 123456

到这里大致的部分就完成了。但是这样配置后,想取数据却取不到,后面依次踩了几个坑。

首先展示下我的查询部分java代码:

SpringBoot上MySQL的连接与使用_第1张图片

这里使用@Autowired自动注入JdbcTemplate.

我先是在方法上面声明@Test想免去写controller直接看行不行的,但是template一直报错打断点显示为null说明没有获取到Springboot的JDBCTemplate,后来看到网上的观点,是只有整个springboot项目启动了才会生成JdbcTemplate对象才会有jdbcTemplate自动注入,单元测试是行不通的。于是我写了Controller来使得刷新页面时调用这个方法,老老实实启动整个项目。

然后启动单元测试报错:The server time zone value '�й���׼ʱ��' is unrecognized

解决办法是在配置文件中的url后面加上?serverTimezone=UTC

变成:spring.datasource.url=jdbc:mysql://localhost:3306/hbeunews?serverTimezone=UTC

还有鼠标放在写的SQL上报错:No data sources are configured to run this sql.

SpringBoot上MySQL的连接与使用_第2张图片

没有配置数据源,在IDEA右边的toolBar中的Database中点击“+”,添加MySQL的数据源配置,OK

以及鼠标放在SQL语句上还有IDEA警告:SQL dialect is not configured.

大概理解就是要配置SQL的语法,是那种类型的数据库风格的SQL语句。

Alter+Enter点进去点击Generic配置SQL的Dialect为Mysql.

————————————————————————————————————————————————

在解决了上面几个问题后,我就可以查询到数据库中的数据了。如下图:

SpringBoot上MySQL的连接与使用_第3张图片

 

 

 

 

你可能感兴趣的:(SpringBoot上MySQL的连接与使用)