一直想将之前写的的微信小程序毕业设计重构一遍,把新的框架技术应用在里面替代原始的JSP和JDBC,于是就有了今天的话题。
首先,已经搭建好了SpringBoot框架。
然后开始,在SpringBoot上简历MySQL连接。
添加所需的jar包
org.springframework.boot
spring-boot-starter-jdbc
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代码:
这里使用@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.
没有配置数据源,在IDEA右边的toolBar中的Database中点击“+”,添加MySQL的数据源配置,OK
以及鼠标放在SQL语句上还有IDEA警告:SQL dialect is not configured.
大概理解就是要配置SQL的语法,是那种类型的数据库风格的SQL语句。
Alter+Enter点进去点击Generic配置SQL的Dialect为Mysql.
————————————————————————————————————————————————
在解决了上面几个问题后,我就可以查询到数据库中的数据了。如下图: