java的datasource_JAVA创建DataSource
title: JAVA創建DataSource
date: 2020-01-17
author: maxzhao
tags:
JAVA
DataSource
categories:
JAVA
DB
為什么會用到 DataSource ?
在我讀 oauth2 源碼的時候,Spring 中提供了大量的測試代碼,運行測試代碼更方便自己理解,但是測試代碼中使用的大多都是 Hsqldb等等,我想連接我的開發庫(MySql8)進行測試。
傳統的連接方式配置比較麻煩,這里使用 alibaba的 druid 來獲取 datasource。
引入依賴
com.alibaba
druid
1.1.16
創建工具類
/**
* 創建 DataSource 連接
* 測試使用
*
* @author maxzhao
* @date 2020-01-17 15:36
*/
public class BootDataSource {
private static final String url = "jdbc:mysql://127.0.0.1:3306/oauth2_boot?charset=utf8mb4&serverTimezone=UTC&useUnicode=true&useSSL=false";
private static final String username = "maxzhao";
private static final String password = "maxzhao";
private static final String drive = "com.mysql.cj.jdbc.Driver";
public static DataSource createDataSource() throws Exception {
Map map = new HashMap<>();
map.put(DruidDataSourceFactory.PROP_DRIVERCLASSNAME, drive);
map.put(DruidDataSourceFactory.PROP_URL, url);
map.put(DruidDataSourceFactory.PROP_USERNAME, username);
map.put(DruidDataSourceFactory.PROP_PASSWORD, password);
return DruidDataSourceFactory.createDataSource(map);
}
}
引用工具類
這是在 JdbcClientDetailsServiceTests 中的一個初始化方法。
// 原來的
// private EmbeddedDatabase db;
// 新的
private DataSource db;
@Before
public void setUp() throws Exception {
// creates a HSQL in-memory db populated from default scripts
// classpath:schema.sql and classpath:data.sql
// db = new EmbeddedDatabaseBuilder().addDefaultScripts().build();
db = BootDataSource.createDataSource();
jdbcTemplate = new JdbcTemplate(db);
service = new JdbcClientDetailsService(db);
}
到這里就結束了,配置很簡單。
我這里使用的是 MySql8的配置。
MySql5.x 與 MySql8 的區別要個別注意一下。
總結
以上是生活随笔為你收集整理的java的datasource_JAVA创建DataSource的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EF遇到的一些问题
- 下一篇: MFC的基本控件的使用~编辑框(Edit