有时候想验证一下是不是成功连上数据库(或者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.结果

        点击启动测试

         得到的结果

            

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐