-
新建module
在导航栏选择Spring Initializr,下一步,为Module设计包结构,其他默认。下一步,在Dependencies对话框勾选模块:Web:Web(一般是web应用)、SQL:MySQL、JDBC,这样就会在maven中自动添加依赖,如果不勾选,手工添加依赖也是可以的:
<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>
自动添加的方式没有版本信息,但可以在project视图的External Libraries中查找mysql和jdbc的包,能找到版本信息。最简单的方法是在<artifactId>标签中按F3会打开该依赖的定义,也是pom文件,可以查看版本信息。
-
接下来是选择Module的存储和名称,只需修改Content root即可zi'd自动为另外两个命名,如:项目名为springboot,content root修改为D:\Idea Projects\springboot\jdbc,则module name就是jdbc
-
接下来就是配置数据库连接信息了
在application.properties中添加对应的属性值,也可在yml文件中添加,以yml文件为例(yml如果不懂自行查询,注意缩进是必须的):
-
spring: datasource: username: root password: root url: jdbc:mysql://localhost:3306/test driver-class-name: com.mysql.cj.jdbc.Driver
-
测试
因为springboot是自动配置的,所以启动应用后,IOC容器中是有相关的Bean的,可以直接装配如DataSource、JDBCTemplate对象进行数据库的操作。
在DataSourceConfiguration.class中可以查看到有几个内置的数据源:Tomcat、DBCP2、Hikari,可以通过DataSource对象查看默认使用的是什么数据源:
//RestController含有@ResponseBody注解
@Controller
public class Query {
@Autowired
JdbcTemplate jdbcTemplate;
@Autowired
DataSource source;
@ResponseBody
@RequestMapping("/query")
public List<Map<String, Object>> query() {
String sql = "select * from users";
System.out.println(source.getClass());
List<Map<String, Object>> mapList = jdbcTemplate.queryForList(sql);
return mapList;
}
}
运行主启动程序,在浏览器中输入地址: http://localhost:8080/query,即可看到数据库中cuss存储的数据;而输出信息为:com.zaxxer.hikari.HikariDataSource