数据库整合SpringBoot
这节主要是来整合数据库和SpringBoot,我们选取的数据库是mysql,你既可以用本地的数据库,还可以用上一节docker安装的数据库,都是可以的,要用 jdbc和mysql驱动,直接在建立SpringBoot项目的时候,勾选上就可以了,当然也可以以后在pom文件中指定。
下面是我在application.yml 文件下的配置(springboot2.0):
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/springdata?serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
schema:
- classpath:xx.sql
initialization-mode: always
这里我强调是springboot2.0 以上,1.5版本的不能这样配置,我在resource文件夹下面新建一个xx.sql文件,只是一张普通的建表语句,配置完schema和initialization-mode属性后(这里的schema是个数组,可以放多个sql文件),启动主程序,会自动在数据库中执行sql文件,这里的数据库用的本地的数据库,现今的mysql-driver驱动都改成com.mysql.cj.jdbc.Driver,不然系统会有警告。
下面来看一下 JdbcTemplate 的用法:
@RestController
public class HelloController {
@Autowired
JdbcTemplate jdbcTemplate;
@GetMapping("/query")
public Map<String, Object> map(){
List<Map<String, Object>> d = jdbcTemplate.queryForList("select * from xxx");
return d.get(0);
}
}
这里需要注意的是,我们在建表完成之后,就要删除sql文件,不然每次启动都要执行一下sql文件,yaml文件中关于sql文件的部分,也要删除,不然启动找不着sql文件,会直接报错。