深入理解SpringBoot(5)

数据库整合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文件,只是一张普通的建表语句,配置完schemainitialization-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文件,会直接报错。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章