可以使用 JdbcTemplate 操作数据库, 可以在启动的时候自动建表, 更新数据表
配置依赖
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-jdbc</artifactId>
- </dependency>
- <dependency>
- <groupId>MySQL</groupId>
- <artifactId>MySQL-connector-java</artifactId>
- <scope>runtime</scope>
- </dependency>
配置数据源
- spring:
- datasource:
- username: root
- password: 123456
- url: jdbc:MySQL://192.168.15.22:3306/jdbc
- driver-class-name: com.MySQL.jdbc.Driver
默认是用 org.apache.tomcat.jdbc.pool.DataSource 作为数据源;
? 数据源的相关配置都在 DataSourceProperties 里面;
自动配置原理:
org.springframework.boot.autoconfigure.jdbc:
1, 参考 DataSourceConfiguration, 根据配置创建数据源, 默认使用 Tomcat 连接池; 可以使用 spring.datasource.type 指定自定义的数据源类型;
2,SpringBoot 默认可以支持;
org.apache.tomcat.jdbc.pool.DataSource,HikariDataSource,BasicDataSource,
3, 自定义数据源类型
- /**
- * Generic DataSource configuration.
- */
- @ConditionalOnMissingBean(DataSource.class)
- @ConditionalOnProperty(name = "spring.datasource.type")
- static class Generic {
- @Bean
- public DataSource dataSource(DataSourceProperties properties) {
- // 使用 DataSourceBuilder 创建数据源, 利用反射创建响应 type 的数据源, 并且绑定相关属性
- return properties.initializeDataSourceBuilder().build();
- }
- }
4,DataSourceInitializer: 是一个 ApplicationListener;
? 作用:
? 1),runSchemaScripts(); 运行建表语句;
? 2),runDataScripts(); 运行插入数据的 sql 语句;
默认只需要将文件命名为:
schema-*.sql,data-*.sql
默认规则: schema.sql,schema-all.sql;
可以使用
- schema:
- - classpath:department.sql
指定位置
5, 操作数据库: 自动配置了 JdbcTemplate 操作数据库
来源: http://www.bubuko.com/infodetail-2948070.html