必威体育Betway必威体育官网
当前位置:首页 > IT技术

DataSource连接数据库

时间:2019-10-05 20:12:13来源:IT技术作者:seo实验室小编阅读:69次「手机版」
 

datasource

文章目录

  • 1. 引言
  • 2. 实现
  • 3. 方法
    • 3.1 建立连接

1. 引言

一个连接到datasource对象所代表的物理数据源的工厂。作为DriverManager的另一种选择,DataSource对象是获得连接的首选方法。

2. 实现

作为 DriverManager 工具的替代项,DataSource接口由驱动程序供应商实现。共有三种类型的实现:

  1. 基本实现 - 生成标准的 Connection 对象

  2. 连接池实现 - 生成自动参与连接池的 Connection 对象。此实现与中间层连接池管理器一起使用。

  3. 分布式事务实现 - 生成一个 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出现error10060

最近在阿里云服务器ECS安装了mysql, 想通过本地Navicat远程连接上mysql,发现出现了 Can’t connect to MySQL server (10060). 试

【新浪云共享型MYSQL】Navicat连接新浪云共享型MYSQL

【新浪云共享型MYSQL】Navicat连接新浪云共享型MYSQL步骤:1.进入新浪云,创建一个云应用SAE2.进入应用,右侧 [数据库与缓存服务] 创建

ADODB介绍及其连接mysql简单实例

首先你想要理解数据库抽象层的概念,理解这时候你就知道ADODB的作用了,php虽然对大多数数据库都支持,但是每种数据库都有很大差异,这样

分享到:

栏目导航

推荐阅读

热门阅读