有时候想验证一下是不是成功连上数据库(或者bug是不是因为数据库),但是因为网上好多都要建Entity类,搞Controller,感觉写的心累,就写了一篇这个(如果有错误或不足,一切以你说的为准)
1.pom.xml文件引入依赖:
1)引入jdbc依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
2)引入数据库驱动依赖
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<scope>runtime</scope>
</dependency>
或者Mysql数据库
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
3)引入测试依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.application.yaml(或者application.properties):
写了Mysql和Oracle2中数据库连接配置,择一即可。连接Oracle数据库的url格式还有其他形式,可自行百度
除以上配置外,其他均使用默认值,这里的properties同理,只需换成spring.datasource.xxx的形式即可
server:
port: 1234
spring:
application:
name: security-service
datasource:
#mysql
url: jdbc:mysql://主机名:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: username(换成自己的)
password: 123456(换成自己的)
driver-class-name: com.mysql.jdbc.Driver
#oracle
url: jdbc:oracle:thin:@//主机名:端口号/数据库名(或者称为服务名)
username: username(换成自己的)
password: 123456(换成自己的)
driver-class-name: oracle.jdbc.OracleDriver
3.使用测试类测试数据库连接:
这里使用到的是使用jdbc依赖自动配置的JdbcTemplate来对数据库进行操作(详情可见项目部分external libraries中spring-boot-autoconfigure自动配置部分的autoconfigure jdbc JdbcTemplateConfiguration.class,jdbcTemplate已经被注入到容器中了,因此在测试部分直接注入使用即可,如果发现JdbcTemplate无法自动注入,可以看一下是不是需要注意点①的原因)。
1)需要注意的点:
①测试类要和启动类的目录框架一致,否则会报错找不到SpringBootConfiguration等;
主启动类上一定别忘了加@SpringBootApplication,否则报错与上一个同理
②测试类上要标注@SpringBootTest,方法上要有@Test注释
2)使用注入JdbcTemplate的方法测试是否能正常访问数据库
@Slf4j
@SpringBootTest
class DatabaseconnectApplicationTests {
@Autowired
JdbcTemplate jdbcTemplate;
@Test
void testOracleConnect(){
//USERINFO是你自己连接数据库中的表,这里查询的是记录的数目
Long aL = jdbcTemplate.queryForObject("select count(*) from USERINFO",Long.class);
log.info("test OracleConnect : {} 条",aL);
}
}
3)为防止有兄弟忘记启动类,我还是贴一下吧,千万别忘了加这个,不然报错见注意点①
@SpringBootApplication
public class DatabaseconnectApplication {
public static void main(String[] args) {
SpringApplication.run(DatabaseconnectApplication.class, args);
}
}
4.结果
点击启动测试
得到的结果