深入理解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文件,會直接報錯。

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