springboot数据访问基本操作步骤
步骤一:创建一个springboot项目
配置pom.xml依赖(此阶段我没有配置web场景启动器)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.yyjc.springboot</groupId>
<artifactId>springboot_ch007</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot_ch007</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<mysql.version>5.1.6</mysql.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope> runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
步骤二:在application.yaml中连接数据库
spring:
datasource:
url: jdbc:mysql://localhost:3306/数据库名
driver-class-name: com.mysql.jdbc.Driver
username:数据库账户名
password: 数据库账户密码
type:…数据源类型(默认为HikrariDataSource)
具体可配置的内容可通过DataSourceProperties类查看
@ConfigurationProperties(
prefix = “spring.datasource”
)
public class DataSourceProperties implements BeanClassLoaderAware, InitializingBean {
private ClassLoader classLoader;
private String name;
private boolean generateUniqueName = true;
private Class<? extends DataSource> type;
private String driverClassName;
private String url;
private String username;
private String password;
private String jndiName;
private DataSourceInitializationMode initializationMode;
private String platform;
private List schema;
private String schemaUsername;
private String schemaPassword;
private List data;
private String dataUsername;
private String dataPassword;
private boolean continueOnError;
private String separator;
private Charset sqlScriptEncoding;
private EmbeddedDatabaseConnection embeddedDatabaseConnection;
private DataSourceProperties.Xa xa;
private String uniqueName;
…}
步骤三:在测试类中执行测试的sql代码
@SpringBootTest
class SpringbootCh007ApplicationTests {
/**
* jdbcTemplate是spring对jdbc的封装,目的是使JDBC更加方便使用。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,
* 比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。
* 在JdbcTemplate中执行SQL语句的方法大致分为3类:
* execute:可以执行所有SQL语句,一般用于执行DDL语句。
* update:用于执行INSERT、UPDATE、DELETE等DML语句。
* queryXxx:用于DQL数据查询语句。
*/
@Autowired
JdbcTemplate jdbcTemplate;
@Test
void contextLoads() {
//返回查询到的行数
Long rows = jdbcTemplate.queryForObject("select count(*) from mdClient",Long.class);
System.out.println("rows=" + rows);
}
}