使用properties文件配置springboot默认数据源

这种方式十分简单,只用在application.properties文件中配置数据库连接属性即可。

spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false

spring.datasource.username=root

spring.datasource.password=root

运行测试方法,查看springboot是否自动配置数据源

@RunWith(SpringRunner.class)

@SpringBootTest

public class MonsterlanApplicationTests {

@Autowired

DataSourceProperties dataSourceProperties;

@Autowired

ApplicationContext applicationContext;

@Test

public void contextLoads() {

// 获取配置的数据源

DataSource dataSource = applicationContext.getBean(DataSource.class);

// 查看配置数据源信息

System.out.println(dataSource);

System.out.println(dataSource.getClass().getName());

System.out.println(dataSourceProperties);

//执行SQL,输出查到的数据

JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);

List> resultList = jdbcTemplate.queryForList("select * from test");

System.out.println("===>>>>>>>>>>>" + JSON.toJSONString(resultList));

}

}

通过输出信息,我们可以看到我们通过properties文件配置数据源十分方便,springboot会直接在容器中构建一个dataSource供我们使用。

通过注解配置数据源DataSource

通过注解配置datasource,这个比使用springboot默认的数据源配置要更灵活一些,还可以根据项目需求配置多个不同的DataSource(如果项目使用到多个数据库)

在properties文件中配置数据库属性

spring.datasource.other.jdbc-url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&characterSetResults=utf8&autoReconnect=true&failOverReadOnly=false

spring.datasource.other.username=root

spring.datasource.other.password=root

spring.datasource.other.driver-class-name=com.mysql.jdbc.Driver

这里有个注意事项:

springboot 2.0+中使用jdbc-url配置数据库URL, 1.5中使用url,不然会导致一个错误。jdbcUrl is required with driverClassName

创建一个配置类DataSourceConfig

@Configuration

public class DataSourceConfig {

@Bean(name = "myDataSource")

@Qualifier("myDataSource")

@ConfigurationProperties(prefix="spring.datasource.other")

public DataSource getMyDataSource(){

return DataSourceBuilder.create().build();

}

}

通过Junit测试数据源

@RunWith(SpringRunner.class)

@SpringBootTest

public class MonsterlanApplicationTests {

@Autowired

DataSourceProperties dataSourceProperties;

@Autowired

ApplicationContext applicationContext;

@Resource(name = "myDataSource")

private DataSource myDataSource;

@Test

public void contextLoads() {

//执行SQL,输出查到的数据

JdbcTemplate jdbcTemplate = new JdbcTemplate(myDataSource);

List> resultList = jdbcTemplate.queryForList("select * from menu");

System.out.println("===>>>>>>>>>>>" + JSON.toJSONString(resultList));

}

}

这样我们就能使用数据源进行数据库操作了。

org.springframework.boot

spring-boot-starter-data-jpa

mysql

mysql-connector-java

com.alibaba

fastjson

1.2.4

mysql datasource.url_SpringBoot配置数据源DataSource相关推荐

  1. 配置数据源(DataSource)

    DataSource对象是由Tomcat提供的,因此不能在程序中采用创建一个实例的方式来生成DataSource对象. 所以数据源的配置涉及修改server.xml(Tomcat)和web.xml文件 ...

  2. 自定义配置数据源 DataSource

    1 . 直接看代码 自定义数据源类 package com.qf.ds; import java.io.PrintWriter; import java.sql.Connection; import ...

  3. mysql datasource property_spring配置datasource三种方式

    3.使用org.springframework.jndi.JndiObjectFactoryBean 说明:JndiObjectFactoryBean 能够通过JNDI获取DataSource jav ...

  4. wildfly mysql xa_wildfly jobss 同时连接多个数据源 datasource xa-datasource

    由于需要从一个远程机器取数据.处理后保存到本地数据库处理.用 wildfly datasource 会报: [com.arjuna.ats.arjuna] (default task-6) ARJUN ...

  5. 数据源(DataSource)是什么以及SpringBoot中数据源配置

    数据源 数据源,简单理解为数据源头,提供了应用程序所需要数据的位置.数据源保证了应用程序与目标数据之间交互的规范和协议,它可以是数据库,文件系统等等.其中数据源定义了位置信息,用户验证信息和交互时所需 ...

  6. nacos配置mysql死活报 Nacos No DataSource set异常解决

    一个莫名奇妙的原因. 事实上很多奇怪的问题都是SB原因造成的. nacos配置mysql死活报 Nacos No DataSource set异常解决 试了以下方法: 1,下载最新nacos 2.1. ...

  7. aws java mysql_java - AWS EC2 / MySql - spring boot无法从datasource确定jdbc url - 堆栈内存溢出...

    我有一个简单的Spring Boot应用程序,我试图在基于Amazon AMI的Amazon EC2实例上部署. 它使用MySql数据库(版本8.0.15). 我在AWS上创建了数据库,当我从本地系统 ...

  8. Tomcat9.0配置MySQL和Oracle数据库数据源

    描述:Tomcat配置数据库数据源,通过配置数据源可以保证始终有数据库连接对象,需要用的时候直接引用,用完以后直接关闭即可.而如果是JDBC普通连接方法,每一个对象连接都需要经过从加载到关闭,这样一来 ...

  9. 【Spring】SpringBoot 配置MySql和Doris多数据源

    嗨, 大家好, 最近公司想要使用DorisDB做数据存储, 经过几天对Doris的研究,发现Dorsi连接方式其实用的就是JDBC连接方式.今天把这两天的学习成果记录一下. 也希望对看到此文章的人有所 ...

最新文章

  1. MySQL数据库MyISAM存储引擎转为Innodb
  2. 为ListView组件加上快速滑块以及修改快速滑块图像
  3. 网络推广运营过程中站长是否考虑过用户为什么愿意产生购买行为呢?
  4. 无线网络渗透测试-Gerix Wifi Cracker破解无线网络
  5. PMBOK7和PRINCE2的相似之处和定位之不同(上篇)
  6. 英语学习—每天进步一丢丢系列(一)
  7. java 解析json的问题
  8. android4.0教程,图文教程现身,在Win7等系统里跑起Android4.0
  9. Linux下 <用户名> 不在 sudoers 文件中。此事将被报告。
  10. wait放弃对象锁_121、抽象类和接口使用场合;wait和sleep
  11. 「终身免费」淘小虾,Shopee浏览器数据分析插件
  12. JavaScript 学习-42.jQuery 提交表单 submit() 方法
  13. 编码论——PNG格式图片编码
  14. bilibili执行董事陈睿:我在进B站之前是一个正常人
  15. QClub:Ruby网站架构案例分享──财帮子\u0026FreeWheel
  16. Opencv入门第一课打开窗口
  17. 利用python从网络上爬取图片_一篇文章教会你利用Python网络爬虫抓取王者荣耀图片...
  18. ModbusPoll和ModbusSlave使用(搭配VSPD,串口接收发数据)
  19. 激光打印机,保留打印记录的文档
  20. 智慧电厂拥抱“双碳”,空冷岛设施数字化转型

热门文章

  1. Java中的基本类型和引用类型(未完)
  2. c#不可忍受之慢——谁是罪魁祸首
  3. img默认图片的问题
  4. jQuery的表单验证
  5. spring boot配置德鲁伊
  6. .Net实现发送邮件功能
  7. 解决编译错误: 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum
  8. ZBrush中的Clip剪切笔刷怎么快速运用
  9. 【Q】【POJ 2560】【POJ 2031】
  10. 'GO' 附近有语法错误问题,我真是无语~