Spring Boot之jdbc数据操作06
程序员文章站
2022-05-23 16:22:05
...
Spring Boot之jdbc数据操作06
JDBC
通过快速创建spring boot项目选择 mysql 和jdbc 创建一个基于web的spring boot项目
依赖为
<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>
通过配置yaml的配置文件来配置数据源DataSource
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操作数据库
通过spring 提供的JdbcTemplate 可以执行crud操作
编写控制器类
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.Map;
@Controller
public class JdbcController {
@Autowired
JdbcTemplate jdbcTemplate;
@ResponseBody
@GetMapping("/qu")
public Map<String,Object> select(){
List<Map<String, Object>> maps = jdbcTemplate.queryForList("select * from user ");
return maps.get(0);
}
}
通过开启服务器访问就可以在页面上看到返回的查询第一条的数据
上一篇: 《Spring设计思想》13-bean的实例化和初始化阶段概览
下一篇: Java集合
推荐阅读
-
Spring Boot 配置MySQL数据库重连的操作方法
-
详解Spring Boot实战之Rest接口开发及数据库基本操作
-
Spring Boot 配置MySQL数据库重连的操作方法
-
Spring jdbc中数据库操作对象化模型的实例详解
-
【⭐】Java—Spring-—数据库操作—使用内置连接池,报读取不到驱动错误。Could not load JDBC driver class。
-
spring-boot-2.0.3之quartz集成,数据源问题,源码探究
-
spring boot +mybatis 操作sqlite数据库
-
2018-08-24 中文代码之Spring Boot对H2数据库简单查询
-
JSP之JDBC操作Sql Server数据库
-
Spring Boot 之数据访问JPA 介绍和操作