mysql datasource.url_SpringBoot配置数据源DataSource

使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值