📄 datasourceconnection.java
字号:
package model;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DataSourceConnection implements BuildConnection {
private static Properties prop = new Properties();
private DataSource ds;
private String initialContextFactory;
private String providerUrl;
private String securityPrincipal;
private String securityCredentials;
private String dataSource;
public DataSourceConnection(String securityPrincipal, String securityCredentials, String dataSource, String providerUrl, String initialContextFactory) throws NamingException {
this.securityPrincipal = securityPrincipal;
this.securityCredentials = securityCredentials;
this.dataSource = dataSource;
this.providerUrl = providerUrl;
this.initialContextFactory = initialContextFactory;
loadDriver();
}
public Connection getConnection() throws SQLException {
return ds.getConnection();
}
private void loadDriver() throws NamingException {
if (!(prop.contains(initialContextFactory) && prop.contains(providerUrl) && prop.contains(securityPrincipal) && prop.contains(securityCredentials))) {
prop.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
prop.put(Context.PROVIDER_URL, providerUrl);
prop.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
prop.put(Context.SECURITY_CREDENTIALS, securityCredentials);
}
Context context = new InitialContext(prop);
ds =(DataSource)context.lookup(dataSource);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -