數據庫整合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文件,會直接報錯。