jdbc的获取连接的两种方式

3 篇文章 0 订阅
2 篇文章 0 订阅

1.问题描述:

jdbc获取连接的两种方式(包括properties文件方式)

额外:(两种连接都有测试)

mysql连接的jdbc:URL:jdbc:mysql://localhost:3306/数据库名(jdbc:mysql:///数据库名)

oracle连接的jdbc:URL:jdbc:oracle:thin:@localhost:1521:orcl

2.方法:

一种java.sql.Driver:

直接加载驱动,获取驱动实例,通过驱动获取连接

二种DriverManager:

通过DriverManager获取,不需要进行注册:DriverManager.registerDriver(Class.forName(mysqlDriver).newInstance());
因为在Driver中有一个静态代码块完成了DriverManager.registerDriver(new Driver());
所以直接使用反射,利用加载class文件(即加载静态代码块)来完成注册

3.代码体现:

一种方式:

public Connection getConnection(){
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		//用户名
		String user = "scott";
		//密码
		String password = "tiger";
		Connection connection = null;
		try {
			//1.加载驱动
			Driver driver = (Driver)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
			//2.得到连接
Properties info = new Properties();
info.setProperty("user", user);
info.setProperty("password", password);
connection = driver.connect(url, info);
			return connection;
		} catch (Exception e) {
			//记录日志
			e.printStackTrace();
			//默认业务处理
			//向上抛出异常
			throw new RuntimeException("找不到驱动类等等",e);
		}
	}


 
二种方式: 

public Connection getConnection(){
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		//用户名
		String user = "scott";
		//密码
		String password = "tiger";
		Connection connection = null;
		try {
			//1.加载驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//2.得到连接
			connection = DriverManager.getConnection(url,user,password);
		return connection;
		} catch (Exception e) {
			//记录日志
			e.printStackTrace();
			//默认业务处理
			//向上抛出异常
			throw new RuntimeException("找不到驱动类",e);
		}
	}

</pre><p></p><pre>
扩展properties文件方式:

jdbc.properties:

mysqlDriver=com.mysql.jdbc.Driver
mysqlJdbcURL=jdbc:mysql://localhost:3306/demo1
muserName=root
mpassword=root

oracleDriver=oracle.jdbc.driver.OracleDriver
oracleJdbcURL=jdbc:oracle:thin:@localhost:1521:orcl
ouserName=scott
opassword=tiger

第一种修改为properties方式:


public static Connection getOracleConnection() throws Exception {

		Properties properties = new Properties();
		properties.load(new FileInputStream("src/jdbc.properties"));
		String oracleDriver = properties.getProperty("oracleDriver");
		String oracleJdbcURL = properties.getProperty("oracleJdbcURL");
		String userName = properties.getProperty("ouserName");
		String password = properties.getProperty("opassword");
		// 1.得到驱动
		Driver driver = (Driver) Class.forName(oracleDriver).newInstance();
		// 2.连接
		properties.put("user", userName);
		properties.put("password", password);

		Connection conn = driver.connect(oracleJdbcURL, properties);
		return conn;
	}
第二种修改为properties方式:


public static Connection getDriverManagerConnection() throws Exception {
		Properties properties = new Properties();
		properties.load(new FileInputStream("src/jdbc.properties"));
		String mysqlDriver = properties.getProperty("mysqlDriver");
		String mysqlJdbcURL = properties.getProperty("mysqlJdbcURL");
		String userName = properties.getProperty("muserName");
		String password = properties.getProperty("mpassword");
		//注册驱动
		Class.forName(mysqlDriver);
		//得到连接
		Connection conn = DriverManager.getConnection(mysqlJdbcURL, userName, password);
		return conn;
	}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值