文档章节

java通过JDBC_获取数据库连接

颍川道人
 颍川道人
发布于 2016/04/27 00:40
字数 562
阅读 30
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

刚刚学完jdbc把自己学习中遇见的遗憾记录下来。以备查看

(一)通过实现Driver 接口 获取数据库的连接

       /*
	 * Driver 是一个接口(Java.sql.Driver)
	 * Driver接口是所有 JDBC 驱动程序需要实现的接口。
	 * 这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现
	 * 
	 */
	@Test
	public void testDriver() throws Exception {
	        //调用mysql实现的Driver 接口
		Driver driver = new com.mysql.jdbc.Driver();
		//连接数据库的地址(不同数据库写法不一致)
		String url = "jdbc:mysql://localhost:3306/test";
		//设置所要连接数据库的用户名和密码
		Properties info = new Properties();
		info.put("user", "root");
		info.put("password", "123456");
		Connection connection = driver.connect(url, info);
		System.out.println(connection);
	}

(二)通过实现Driver 接口 获取数据库的连接 配置文件方式

        @Test
	public void getConnection() throws Exception {
	     // 1. 准备连接数据库的 4 个字符串.
		String driverclass = null;
		String jdbcUrl = null;
		String user = null;
		String passWord = null;
               // 2. 获取 jdbc.properties 对应的输入流
		InputStream in = getClass().getClassLoader().getSystemResourceAsStream(
				"jdbc.properties");
		Properties properties = new Properties();
		properties.load(in);
		driverclass = properties.getProperty("driver");
		jdbcUrl = properties.getProperty("jdbcurl");
		user = properties.getProperty("user");
		passWord = properties.getProperty("password");
		
		// 3. 加载 2 对应的输入流
		Properties info = new Properties();
		info.put("user", user);
		info.put("password", passWord);
		// 4. 通过反射/调用mysql实现的Driver接口
		Driver driver = (Driver) Class.forName(driverclass).newInstance();
		Connection connection = driver.connect(jdbcUrl, info);
		System.out.println(connection);
	}

(三)通过实现DriverManager驱动管理类 获取数据库的连接

        /*
	 * 在实际开发中不需要直接去访问实现了 Driver 接口的类,
	 * 而是由驱动程序管理器类(java.sql.DriverManager)
	 * 去调用这些Driver实现
	 * DriverManager 驱动管理类
	 */
	@Test
	public void testDriverManager() throws Exception{
	      // 1. 准备连接数据库的 4 个字符串.
		String driverclass=null; //数据库驱动
		String jdbcurl=null;
		String user=null;
		String password=null;
	      // 2. 获取 jdbc.properties 对应的输入流
	InputStream in = getClass().getClassLoader().getResourceAsStream("jdbc.properties");
	    Properties properties=new Properties();
	    properties.load(in);
	    driverclass=properties.getProperty("driver");
	    jdbcurl=properties.getProperty("jdbcurl");
	    user=properties.getProperty("user");
	    password=properties.getProperty("password");
	    // 3. 加载 2 对应的输入流
	    Properties info=new Properties();
	    info.put("user",user);
	    info.put("password", password); 
	   /* 4. 加载数据库驱动程序(不需要反射注册驱动程序是
	     因为对应的 Driver 实现类中有注册驱动的静态代码块.)*/
	    //DriverManager.registerDriver((Driver) Class.forName(driverclass).newInstance());
	    Class.forName(driverclass);
	    Connection connection=DriverManager.getConnection(jdbcurl,info);
	    System.out.println(connection);
	}

  jdbc.properties配置文件


© 著作权归作者所有

上一篇: JDBC学习总结
下一篇: JDBC学习总结
颍川道人
粉丝 0
博文 3
码字总数 1068
作品 0
漯河
程序员
私信 提问
十个JDBC的最佳实践

JDBC是Java为多种关系型数据库提供的统一的访问接口,以下是我长期使用JDBC总结的十个最佳实践。 JDBC最佳实践1:使用PrearedStatement 任何一个使用过JDBC的Java程序员几乎都知道这个,Pre...

王振威
2012/09/08
6.5K
12
好程序员Java教程解读JDBC是什么

  好程序员解读JDBC是什么,JDBC简介- JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的...

好程序员IT
07/25
47
0
在tomcat中配置JNDI数据源 .

在tomcat5.0中配置数据源(全局数据源、局部数据源),通过连接池机制连接数据库 1. odbc-jdbc桥连 2. 通过加载本地驱动连接 3. 在web应用服务器中设置数据源,通过池接技术连接数据库(加载本...

漠、
2012/05/24
278
0
Java开发基础(二)——JDBC的使用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/simonforfuture/article/details/90409979 文章目录 前言 Java开发中...

simon曦
05/22
0
0
PowerDesigner 16.5 连接MySQL和逆向工程图

1、MySQL数据库连接(JDBC方式) JDBC的配置方式需要一些基础的环境和准备,但是也很简单,无非也就是JDK和mysql的连接jar包,这里不再展开阐述。 1.1 新建一个pdm,dbms选择mysql 1.2 Datab...

Gibbons
2018/07/22
3K
0

没有更多内容

加载失败,请刷新页面

加载更多

密码加密与微服务鉴权JWT详细使用教程

[TOC] 1.1、了解微服务状态 微服务集群中的每个服务,对外提供的都是Rest风格的接口,而Rest风格的一个最重要的规范就是:服务的无状态性。 什么是无状态? 1.服务端不保存任何客户端请求者信...

庭前云落
18分钟前
6
0
Xamarin.FormsShell基础教程(9)Shell相关类体系

Xamarin.FormsShell基础教程(9)Shell相关类体系 在Shell中,最为主要的类是Shell类。Shell类实现了大多数应用程序所需的基本UI功能的页面。除此以外,常用的类还有ShellContent、Tab、Fly...

大学霸
20分钟前
4
0
聊聊MVC、MVP、MVVM吧

先来介绍下本文结构: 三种框架的具体概念 在安卓开发上的写法、优缺点 1.概念 1.1 MVC MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模...

二营长的意大利炮手
36分钟前
4
0
如果解释Python,什么是.pyc文件?

我已经了解Python是一种解释型语言......但是,当我查看我的Python源代码时,我看到.pyc文件,Windows将其识别为“编译的Python文件”。 这些来自哪里? #1楼 Python代码经历了两个阶段。 第...

javail
42分钟前
4
0
.NET Core初览

初览的应用场景为游戏服务器开发。所以测试在侧重点上更强于IO和密集型计算 TODO

梦想游戏人
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部