datasource
文章目录
- 1. 引言
- 2. 实现
- 3. 方法
- 3.1 建立连接
1. 引言
一个连接到datasource对象所代表的物理数据源的工厂。作为DriverManager的另一种选择,DataSource对象是获得连接的首选方法。
2. 实现
作为 DriverManager 工具的替代项,DataSource接口由驱动程序供应商实现。共有三种类型的实现:
-
基本实现 - 生成标准的 Connection 对象
-
连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。
-
分布式事务实现 - 生成一个 Connection 对象,该对象可用于分布式事务,大多数情况下总是参与连接池。此实现与中间层事务管理器一起使用,大多数情况下总是与连接池管理器一起使用。
3. 方法
DataSource接口包含两个方法,分别为无参和有参getConnection()方法。
Connection getConnection()
throws sqlException
Attempts to establish a connection with the data source that this DataSource object represents.
Returns:
a connection to the data source
Throws:
SQLException - if a database access ERROR occurs
Connection getConnection(String username,
String password)
throws SQLException
Attempts to establish a connection with the data source that this DataSource object represents.
parameters:
username - the database user on whose behalf the connection is being made
password - the user's password
Returns:
a connection to the data source
Throws:
SQLException - if a database access error occurs
Since:
1.4
3.1 建立连接
参考:https://blog.csdn.net/bestree007/article/details/8762174
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.statement;
/**
* 使用datasource方法建立mysql数据库连接。
* @author bestree007;
*
*/
public class MYSQLConnection {
public static void main(String[] args) {
com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds;
Connection conn2;
// create connection with a datasource object
ds = new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();
ds.setServerName("localhost");
ds.setDatabaseName("bestree");
ds.setPort(3306);
// ds.setURL("jdbc:mysql://localhost:3306/bestree");
try {
conn2 = ds.getConnection("bestree", "password");
if (!conn2.isClosed()) {
System.out.println("Succeeded connecting to the Database!");
}
Statement statement = conn2.createStatement();
String sql = "select * from pet";
ResultSet rs = statement.executequery(sql);
while (rs.next()) {
String name = rs.getString("name");
System.out.println(name);
}
rs.close();
conn2.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printstacktrace();
}
}
}
相关阅读
windows x240 无法连接至synaptics定点装置驱动程序
window x240 触摸板滑动不能使用,进入控制面板的鼠标设置,提示无法连接至synaptics定点装置驱动程序。 在使用腾讯安全管家时,可能误
连接池 涉及概念:设计模式:资源池(Resource Pool)百度一下,你就知道 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。
最近在阿里云服务器ECS安装了mysql, 想通过本地Navicat远程连接上mysql,发现出现了 Can’t connect to MySQL server (10060). 试
【新浪云共享型MYSQL】Navicat连接新浪云共享型MYSQL
【新浪云共享型MYSQL】Navicat连接新浪云共享型MYSQL步骤:1.进入新浪云,创建一个云应用SAE2.进入应用,右侧 [数据库与缓存服务] 创建
首先你想要理解数据库抽象层的概念,理解这时候你就知道ADODB的作用了,php虽然对大多数数据库都支持,但是每种数据库都有很大差异,这样