/**

* 了解: 利用 Driver 接口的 connect 方法获取连接

*/

// 第一种实现

/**

* 了解: 利用 Driver 接口的 connect 方法获取连接

*/

@Test

public void oracleJdbcTest() throws Exception {

Driver driver = null; // sun提供的接口

String url = "jdbc:oracle:thin:@192.168.5.139:1521:ORCL";

Properties info = null;

info = new Properties();

info.put("user", "scott");

info.put("password", "tiger");

driver = new OracleDriver(); // Oracle数据库厂商自己实现sun提供的接口Driver

Connection connect = driver.connect(url, info); // 获取连接

System.out.println(connect);

}

======================================

/**

* 了解: 使用 DriverManager 来获取数据库连接

* 版本1:

* 好处: 不需要使用原生的 Driver 方法来获取连接.

* 缺点: 还是耦合了具体的实现类.

*/

//第二种实现

@Test

public void oracleJdbcTest1() throws Exception{

Connection connection=null;

DriverManager.registerDriver(new OracleDriver()); //驱动管理器注册Oracle驱动,实现Java程序可以连接Oracle数据库,如果想要连接不同的数据库则需要注册不同的数据库驱动

String url="jdbc:oracle:thin:@192.168.5.139:1521:ORCL";

Properties info=null;

info=new Properties();

info.put("user", "scott");

info.put("password", "tiger");

connection=DriverManager.getConnection( url, info) ; //DriverManager驱动管理器类,里面的方法都是静态的,类调用获取到一个连接

System.out.println(connection);

}

====================================

/**

* 了解: 更进一步, 不需要关联任何 JDBC 驱动的实现类。

* 但需要提供 JDBC 驱动中 Driver 接口的实现类的全类名的字符串.

*/

//第三种实现

@Test

public void oracleJdbcTest2() throws Exception, InstantiationException, IllegalAccessException, ClassNotFoundException{

Connection connection=null;

String className="oracle.jdbc.driver.OracleDriver";

DriverManager.registerDriver((Driver)Class.forName(className).newInstance()); //注册驱动

String url="jdbc:oracle:thin:@192.168.5.139:1521:ORCL";

Properties info=null;

info=new Properties();

info.put("user", "scott");

info.put("password", "tiger");

connection=DriverManager.getConnection(url,info);

System.out.println(connection);

}

===========================================================

/**

* 能创建一个不和具体 Driver 耦合的获取数据库连接的方法. 即在方法中不再关联任何数据库驱动的 JDBC 实现.

*@throws SQLException

*/

/**

* final version: 若需要手动获取数据库连接:

*

* 更进一步, 不需要关联任何 JDBC 驱动的实现类。

* 但需要提供 JDBC 驱动中 Driver 接口的实现类的全类名的字符串.

*

* 实际上, 在驱动的实现类中有一个静态代码块: 创建了 Driver 实现类的对象, 并把其注册给 DriverManager

* static {

* try {

* java.sql.DriverManager.registerDriver(new Driver());

* } catch (SQLException E) {

* throw new RuntimeException("Can't register driver!");

* }

* }

*

* 而调用 Class 的 forName 方法在加载类实例时, 会调用静态代码块.

*

*/

//第四种实现(最常用)

@Test

public void oracleJdbcTest3() throws Exception{

Connection connection=null;

String className="oracle.jdbc.driver.OracleDriver";

String url="jdbc:oracle:thin:@192.168.5.139:1521:ORCL";

Properties info=null;

info=new Properties();

info.put("user", "scott");

info.put("password", "tiger");

Class.forName(className).newInstance();//加载驱动

connection=DriverManager.getConnection(url,info);

System.out.println(connection);

}

java程序有连接数据库_Java程序连接数据库相关推荐

  1. java与sql2005连接数据库_Java链接数据库SQl Server2005

    Java链接数据库SQL Server2005步骤: 1.到微软官方网站下载2005的jdbc并解压,获得文件sqljdbc.jar.本人使用的是sqljdbc_1.2,解压后即为该文件. sql j ...

  2. 数据库实验IDEA编程Java程序实现连接数据库以及增删改查JDBC

    IDEA编程Java程序实现连接数据库以及增删改查JDBC IDEA的mysql环境配置建议参考该博客:戳我 我用的是java11和此博客的配置略有出入,不过一般的问题都可以百度解决 这是我实验用的数 ...

  3. MySQL数据库时区问题导致java程序无法连接数据库

    转载自 https://blog.csdn.net/man_zuo/article/details/81027934 先把报错信息贴上, The server time zone value '??? ...

  4. java程序员内功_Java程序员如何成为内功深厚的架构师

    一听到架构师,首先便想到的是在一间宽敞的房间中间坐着一位衣着得体的中年男人,望着落地窗外的风景凝思,万千思绪在脑海里翻腾,颇有运筹帷幄千里外的气势.程序员究竟是做架构师还是项目经理,最近看到微软潘正磊 ...

  5. java程序员技术_JAVA程序员需要懂得哪些技术

    原标题:JAVA程序员需要懂得哪些技术 学习java,掌握java技术,成功找到一份满意的工作,这才是一个完美的学习过程和结果.那对于初学java的同学来说,想要成功找到一份工作需要掌握哪些java技 ...

  6. java程序员入门_Java程序员入门:简介

    java程序员入门 背景 Go (通常称为" Golang")是一种相当新的编程语言,于2007年首次提出,并于2012年发布了1.0版.它的三位发明者目前都是Google员工,具 ...

  7. 编写java程序的常见问题_Java程序的编写与执行、Java新手常见的问题解决

    原标题:Java程序的编写与执行.Java新手常见的问题解决 今天,我们来写一段Java程序.然后看看Java程序是如何执行的,以及Java新手小白遇到的问题和解决办法. HelloWorld的编写 ...

  8. java程序并行机制_Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点。A.多线程B.健...

    Java语言具有多种优点和特点,下列选项中,______反映了Java程序并行执行机制的特点.A.多线程B.健 更多相关问题 根据句意及首字母完成单词1. -What c__________ is i ...

  9. pgsql中float4导致java程序精度丢失_Java基础系列02

    注释 Java中支持三种注释:1.单行注释以//开始换行结束.2.多行注释以/*开始,以*/结束.3.说明注释以/**开始,以*/结束. 关键字 关键字:是指在程序中,Java已经定义好的单词,具有特 ...

最新文章

  1. 用好idea这几款插件,可以帮你少写30%的代码!
  2. selenium python自动化文件下载_selenium+python自动化79-文件下载(SendKeys)【转载】...
  3. HBase单机环境搭建
  4. Java线程详解(4)-线程状态的转换
  5. 移动石头游戏中的博弈问题(洛谷P4136题题解,Java语言描述)
  6. 集群、RAC和MAA
  7. java配置文件强制更新_对Java配置文件Properties的读取、写入与更新操作
  8. Bailian3670 计算鞍点(POJ NOI0108-05)【矩阵】
  9. EasyUI 1.4.4 DataGrid(大数据量) bufferview滚动时不加载下一页数据解决方案
  10. 页面导出excel的三种方式
  11. python绝对值_如何在Python中获得数字的绝对值?
  12. 我爱淘二次冲刺阶段6
  13. 表格识别综述与相关实战
  14. LiteFlow 开源编排规则引擎
  15. 北京大学C语言学习第4天
  16. 如何用photoshop切图并去掉图片上面的文字
  17. 学习笔记-B/S - Exploits
  18. Win10自带邮件系统绑定腾讯企业邮箱
  19. 鼓励参与计算机考试宣传标语,期末考试励志宣传标语
  20. C# Contract诊断

热门文章

  1. 88. Leetcode 剑指 Offer 14- I. 剪绳子 (动态规划-基础题)
  2. Leetcode 240.剑指 Offer 06. 从尾到头打印链表 (每日一题 20210728)
  3. jupyter notebook使用技巧
  4. Flink从入门到精通100篇(二十三)-基于Apache Flink的爱奇艺实时计算平台建设实践
  5. 地图自定义编码CSV转换成ini文件
  6. MATLAB实现牛顿插值的源程序
  7. MATLAB基本操作(九):可视化矩阵的矢量场quiver函数
  8. K近邻算法基础:KD树的操作
  9. Python入门100题 | 第038题
  10. Cracer渗透视频课程学习笔记——基础知识(1)