1. package day_18;
  2.  
  3. import org.junit.Test;
  4.  
  5. import java.io.InputStream;
  6. import java.sql.*;
  7. import java.sql.DriverManager;
  8. import java.util.Properties;
  9. /*
  10. CTRL+右击 在某个类名或者方法上即可打开其对应的API文档!
  11. */
  12. /** DriverManager 是驱动的管理类,比直接使用driver更加方便
  13. * my.sql.Driver 应用程序不再需要使用Class.forName()显式加载JDBC驱动程序。
  14. * 目前使用加载JDBC驱动程序的现有程序Class.forName(driverClass)将不执行任何工作。
  15. * 当调用方法getConnection时,
  16. * DriverManager将尝试从初始化中加载的驱动程序中找到合适的驱动程序,
  17. * 并使用与当前小程序或应用程序相同的类加载器显式加载驱动程序。
  18. * 代码,一步到位:
  19. * Connection connection=DriverManager.getConnection(jdbcUrl,user,password);
  20. *
  21. */
  22. public class testDriverManager {
  23. @Test
  24. public void test1() throws Exception{
  25. //1.准备数据库的连接的4个字符串
  26. String driverClass=null,jdbcUrl=null,user=null,password=null;
  27. //jdbc:mysql:///books ;也可以将localhost省略掉!
  28. //2.读取类路径下的jdbc.properties 文件
  29. InputStream in=
  30. getClass().getClassLoader().getResourceAsStream("jdbc.properties");
  31. Properties properties =new Properties();
  32. properties.load(in);
  33. driverClass =properties.getProperty("driver");
  34. jdbcUrl=properties.getProperty("jdbcUrl");
  35. user = properties.getProperty("user");
  36. password = properties.getProperty("password");
  37. //3.加载数据库驱动程序(注册驱动),driver对应的实现类中有注册驱动的静态代码块
  38. // Class.forName(driverClass); //
  39. //或这么手动加载,也可以注册多个数据库连接的代码块
  40. //DriverManager.registerDriver( Class.forName(driverClass).newInstance());
  41.  
  42. //4.通过DriverManager 的getConnection()方法获取数据库连接。
  43. Connection connection=DriverManager.getConnection(jdbcUrl,user,password);
  44. System.out.print(connection); //com.mysql.jdbc.JDBC4Connection@19e1023e
  45.  
  46. }
  47. }

JDBC_通过DriverManager获得数据库连接的更多相关文章

  1. 使用DriverManager获取数据库连接的一个小改进

    由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么 ...

  2. MYSQL 之 JDBC(二): 数据库连接(二)通过DriverManager获取数据库连接

    通过DriverManager获取数据库连接 修改一下配置文件 driver=com.mysql.cj.jdbc.Driver jdbcUrl=jdbc:mysql://localhost:3306/ ...

  3. 使用DriverManager获取数据库连接

    DriverManager 是驱动的管理类 * 1).可以通过重载的getConnection() 方法获取数据库连接,较为方便 * 2).可以同时管理多个驱动程序,若注册了多个数据库连接,则调用ge ...

  4. jdbc 数据库连接

    连接数据库 1)通过Driver来连接(Driver:数据库厂商提供的一个接口) public void testDriver()throws Exception{ Driver driver = n ...

  5. Java中的JDBC数据库连接

    JDBC编程步骤 1.加载数据库驱动. // 加载驱动 Class.forName(driverClass) // 加载mysql驱动 Class.forName("com.mysql.jd ...

  6. 【Java】java数据库连接中C3P、DBCP、Druid连接池的使用

    使用JDBC的步骤:1.加载数据库驱动2.通过DriverManager获得数据库连接3.通过Connection获得Statement对象4.使用Statement执行SQL语句.5.操作结果集合6 ...

  7. JDBC--获取数据库连接

    1.JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统.统一的sQL数据库存取和操作的公共接口. 2.Java中的几种数据库存取技术: --1)JDBC直接 ...

  8. Java——异常处理,数据库连接

    在学习数据库连接时看到try(){}结构,查了一下写在这里: import java.sql.Connection; import java.sql.DriverManager; import jav ...

  9. 详解C3P0(数据库连接池)

    详解C3P0(数据库连接池) 快速索引 一.基本定义 二.使用C3P0(数据库连接池)的必要性 1.JDBC传统模式开发存在的主要问题 三.数据库连接池的详细说明 四.使用连接池的明显优势 1.资源的 ...

随机推荐

  1. iOS 多线程的简单理解(1) 方式 :同步 异步

    最近遇到特别糟糕的面试,过程中提到多次对多线程的处理问题,并没有很好的给予答复和解决,所以在这里做个简单的备案: 期望能更加了解和熟练使用 多线程技术: 下面都是自己的总结,如果存在不对的,或者不足, ...

  2. js复制json对象

    var newJson = JSON.parse(JSON.stringify(json对象));

  3. Java创建线程的两种方法

    大多数情况,通过实例化一个Thread对象来创建一个线程.Java定义了两种方式: 实现Runnable 接口: 可以继承Thread类. 下面的两小节依次介绍了每一种方式. 实现Runnable接口 ...

  4. WiFi、ZigBee、BLE用哪个?

    小米是这么选的: 1) 插电的设备,用WiFi: 2) 需要和手机交互的,用BLE: 3) 传感器用ZigBee. WIFI,WIFI是目前应用最广泛的无线通信技术,传输距离在100-300M,速率可 ...

  5. 剑指offer22:从上往下打印出二叉树的每个节点,同层节点从左至右打印。

    1 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 2 思路和方法 使用一个队列存放节点.先将根节点加入到队列中,然后循环遍历队列中的元素,遍历过程中,访问该节点的左右子节点,再将左 ...

  6. Arraylist的遍历方式、java反射机制

    先定义ArrayList再添加几条数据:         ArrayList arr=new ArrayList(); //往arrList中增加几条数据 arr.add(1); arr.add(2) ...

  7. mdk编译时的内存分析

    内存四区(代码区,全局区,栈区,堆区) Code:即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区. RO-data:Read Only data,即只读数据域,它指程序中用到的只读数 ...

  8. SVN_05用戶管控

    安全性设置 [1]在左侧的User上点击右键 输入上面的信息,点击OK,我们就创建一个用户了. 说明:注意到了下面图中的Groups,是的,也可以先创建组,把用户添加到各个组中,然后对组进行授权,操作 ...

  9. Python之算法评估-4

    一.评估算法的方式分两种,一种是分类算法的评估,一种是回归算法的评估.为什么要分两种呢,因为分类算法中可以通过准确率.精准率.召回率.混淆矩阵.AUC来评估算法的准确度.但是在预测值的时候是没有办法去 ...

  10. threejs CameraHelper 查看照相机的观察范围

    简单例子 这个例子,是在一个视图中,看到照相机的辅助线,也就是,一个照相机的观察访问 这样,就需要两个照相机,一个是主照相机,一个是加有辅助线的照相机(有两种,正交和透视,这里辅助的使用的是正交的) ...