类org.springframework.boot.jdbc.EmbeddedDatabaseConnection源码实例Demo

下面列出了怎么用org.springframework.boot.jdbc.EmbeddedDatabaseConnection的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: multitenant   文件: DatabaseResourceReleaser.java
@Override
public void release(Organization organization) {
	entityManagerFactoryService.removeEntityManagerFactory(organization);
	EntityManager em = EntityManagerFactoryUtils.getTransactionalEntityManager(emf);
	if (!EmbeddedDatabaseConnection.isEmbedded(properties.determineDriverClassName())) {
		em.createNativeQuery("drop database " + organization.getId()).executeUpdate();
	}
	
}
 
源代码2 项目: multitenant   文件: DataSourceServiceImpl.java
@SuppressWarnings("unchecked")
@Override
public DataSource createDataSource(Organization organization) {
	return MultitenantUtils.doQuery(() -> {
		DataSource dataSouce = null;
		DataSourceInfo dataSourceInfo = dataSourceInfoService.get(organization);
		if (StringUtils.isEmpty(dataSourceInfo.getJndiName())) {
			String master = Constants.MASTER;
			if (EmbeddedDatabaseConnection.isEmbedded(dataSourceInfo.getDriverClassName())) {
				master = properties.determineDatabaseName();
			}
			DataSourceBuilder<?> factory = this.properties.initializeDataSourceBuilder();
			factory.url(dataSourceInfo.getUrl().replace(databaseNameService.getDatabaseName(master), databaseNameService.getDatabaseName(organization.getId())))
				.username(dataSourceInfo.getUsername())
				.password(dataSourceInfo.getPassword());
			if (!StringUtils.isEmpty(dataSourceInfo.getDriverClassName())) {
				factory.driverClassName(dataSourceInfo.getDriverClassName());
			}
			if (!StringUtils.isEmpty(dataSourceInfo.getType())) {
				try {
					factory.type((Class<? extends DataSource>) Class.forName(dataSourceInfo.getType()));
				} catch (ClassNotFoundException e) {
					throw new RuntimeException(e.getMessage());
				}
			}
			publishEvent(organization, dataSourceInfo, factory);
			dataSouce = factory.build();
		} else {
			JndiDataSourceLookup dataSourceLookup = new JndiDataSourceLookup();
			dataSouce = dataSourceLookup.getDataSource(dataSourceInfo.getJndiName());
		}
		dataSourceMap.put(organization.getId(), dataSouce);
		this.applicationContext.publishEvent(new OrgDataSourceCreateEvent(dataSouce));
		return dataSouce;
	});

}
 
public String getDefaultDdlAuto(DataSource dataSource) {
	if (!EmbeddedDatabaseConnection.isEmbedded(dataSource)) {
		return "none";
	}
	SchemaManagement schemaManagement = getSchemaManagement(dataSource);
	if (SchemaManagement.MANAGED.equals(schemaManagement)) {
		return "none";
	}
	return "create-drop";

}
 
 类所在包
 类方法
 同包方法