SpringBoot——内置数据源

简单介绍:

在之前我们介绍SpringBoot的数据层解决方案的时候,曾说到过在数据层是由数据源,持久化技术和数据库组成的,之前我们一直使用的都是Druid+MyBatis+MySQL组合的解决方案。这三种方案在之前我们都介绍过如何整合以及基础的使用方法。之前我们也说过,SpringBoot是一款开箱即用的框架,这些东西都是我们后面导入start的时候自己导入的,这次我们就要说到SpringBoot自带的一些数据层解决方案。

内置数据源:

就像是我们一开始在使用web层的时候说到过的一样,SpringBoot默认集成了一个TomCat的内核在框架中,让我们可以使用很少的配置甚至可以不写配置的情况下直接使用Tomcat服务器。对于数据源也是一样的,SpringBoot就内置了一款轻量级的数据源Hikari。

环境介绍:

环境就是一个基础的SpringBoot环境,但是只保留了基础的读取数据库的Dao层用来演示:

在测试类中,读取了数据库中的所有的数据并打印在控制台上:

最终的结果如上所示。

但是这一次我们的关注点并不是结果,而是他所用的数据源: 在这里可以看到,生成的数据源是Druid,是因为我们在做配置文件的时候就设置成了使用Druid数据源: 

这个数据源是我们后来自己配置的,在这之前我们导入了Druid的坐标,并配置了数据源类型,如果我们不用Druid的话,这里还会有数据源吗? 

我们把设置数据源类型的那段配置删掉,然后重新执行测试用例: 这次可以看到,之前的DruidDataSource已经没有了,但是这里还是有一个DataSource叫做HikarDataSource,这个就是今天我们主要说到的,SpringBoot默认内置的数据源:Hikar。 

SpringBoot默认提供的数据源对象

SpringBoot默认提供了三种数据源对象:

  • Hikar(默认内置数据源对象)
  • Tomcat的DataSource(当默认的Hikar不可用的时候,并且当前环境是Web环境的时候,将使用Tomcat配置的数据源对象)
  • DBCP(当前两种都不可用的时候,才会使用DBCP数据源对象)

Hikar是轻量级数据源中最快的一个。除了Hikar还有另外两种数据源作为备用选择,这三种都不需要额外的导入其他的坐标,直接在配置文件中就可以做配置切换数据源:

DBCP2之前我们在做原生的JavaWeb的时候提到过,可以在往期的文章里面找相关的内容,其实数据源的使用方面都是差不多的。

这三种数据源的配置,除了一些特有的配置之外,基本的配置都是差不多的,如果想要切换其他的数据源方案可以找对应方案的完整配置。 

这一章主要是讲解SpringBoot内置的多种数据源解决方案,丰富我们在选择数据源解决方案时候的选项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在SpringBoot中配置ureport内置数据源,可以按照以下步骤进行: 1. 在pom.xml文件中添加ureport的依赖: ``` <dependency> <groupId>com.bstek.ureport</groupId> <artifactId>ureport2-core</artifactId> <version>2.8.6</version> </dependency> ``` 2. 在application.properties文件中添加ureport的配置: ``` ureport.enabled=true ureport.fileStoreDir=file:${user.home}/ureport/ ureport.reportHome=file:${user.home}/ureport/ ureport.ds.provider=com.bstek.ureport.provider.report.DataSourceProvider ureport.ds.provider.class=com.bstek.ureport.provider.report.FileJsonDataSourceProvider ``` 3. 在resources目录下创建ureport文件夹,并在该文件夹下创建dataSources.json文件,配置数据源信息: ``` { "datasources": [ { "name": "test", "type": "jdbc", "driverClassName": "com.mysql.jdbc.Driver", "url": "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false", "username": "root", "password": "123456" } ] } ``` 其中,name为数据源名称,type为数据源类型,driverClassName为驱动类名,url为数据库连接地址,username为数据库用户名,password为数据库密码。 4. 在代码中使用数据源: ``` @Autowired private ReportManager reportManager; public void test() { Map<String, Object> parameters = new HashMap<>(); parameters.put("test", "test"); ReportFile reportFile = reportManager.loadReportFile("classpath:reports/test.ureport.xml"); Report report = reportFile.parse(); HtmlReport htmlReport = new HtmlReport(report, parameters); String content = htmlReport.getContent(); System.out.println(content); } ``` 其中,classpath:reports/test.ureport.xml为报表文件路径,test为数据源名称。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值