JDBC--获取数据库连接

1、JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、统一的sQL数据库存取和操作的公共接口。

2、Java中的几种数据库存取技术:

--1)JDBC直接访问数据库;

--2)JDO技术;

--3)第三方O/R工具,如Hibernate,ibatis等;

2、通过Driver接口获取数据库连接:连接任何类型的数据库

--方法:把数据库驱动Driver实现类的全类名、url、user、password放入一个配置文件中,通过修改配置文件的方式实现。

--实现:

public Connection getConnection() throws Exception{
    String driverClassName = null;
    String jdbcUrl = null;
    String user = null;
    String password = null;
    //读取属性文件 jdbc.properties 中的配置信息
    Properties tmpPro = new Properties();
    InputStream in = new FileInputStream(new File("jdbc.properties"));
    tmpPro.load(in);

    driverClassName = tmpPro.getProperty("driver");
    jdbcUrl = tmpPro.getProperty("jdbcurl");
    user = tmpPro.getProperty("user");
    password = tmpPro.getProperty("password");

    //通过反射创建 Driver类
    Driver driver = (Driver)Class.forName(driverClassName).newInstance();

    //创建Properties类设置账号密码
    Properties info = new Properties();
    info.put("user", user);
    info.put("password", password);

    //通过Driver的connect()方法连接数据库并获得Connection对象
    Connection conn = driver.connect(jdbcUrl, info);

    return conn;
}

3、通过DriverManager获取数据库连接:

public Connection getConnection() throws Exception{
    //从配置文件读取信息
    Properties properties = new Properties();
    InputStream in = new FileInputStream(new File("jdbc.properties"));
    properties.load(in);
    in.close();

    String driverClassName = properties.getProperty("driver");
    String jdbcUrl = properties.getProperty("jdbcurl");
    String user = properties.getProperty("user");
    String password = properties.getProperty("password");

    //DriverManager.registerDriver(Class.forName(driverClassName).newInstance());
    //加载数据库驱动程序
    Class.forName(driverClassName);

    //通过DriverManager的getConnection()方法获取数据库连接。
    return DriverManager.getConnection(jdbcUrl, user, password);
}

--在加载数据库驱动程序的时候也可以使用DriverManager的registerDriver()方法来加载,但是由于在对应的Driver类中已经写有注册驱动的静态代码块,因此在使用Class.forName()加载Driver类时会执行这个静态代码块,与DriverManager.registerDriver(Class.forName(driverClassName).newInstance());的效果相同。如果使用DriverManager.registerDriver(Class.forName(driverClassName).newInstance())来加载驱动,会实例化两个Driver类的对象,因此推荐直接使用Class.forName()来加载驱动。

--使用DriverManager获取数据库连接较为方便,同时它可以管理多个驱动程序,当传入不同的url,user等参数时将返回不同类型的数据库连接。

时间: 2024-08-04 12:41:05

JDBC--获取数据库连接的相关文章

JAVA jdbc获取数据库连接

JDBC获取数据库连接的帮助类 1 import java.io.InputStream; 2 import java.sql.Connection; 3 import java.sql.DriverManager; 4 import java.sql.ResultSet; 5 import java.sql.Statement; 6 import java.util.Properties; 7 8 public class jdbcUtil { 9 10 private static Stri

JDBC(1)——获取数据库连接

主要讲通过 DriverManager 连接 DriverManager 是驱动的管理类.  1). 可以通过重载的 getConnection() 方法获取数据库连接. 较为方便 2). 可以同时管理多个驱动程序: 若注册了多个数据库连接, 则调用 getConnection()     方法时传入的参数不同, 即返回不同的数据库连接. //1. 准备连接数据库的 4 个字符串. //驱动的全类名. String driverClass = "com.mysql.jdbc.Driver&quo

JDBC 获取 Oracle 数据库连接(使用 Driver)

获取数据库连接的方法: 1. Driver 接口: ?Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口.这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现 ?在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现 2. 加载与注册JDBC 驱动: ?加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名

DButils工具类可以用来获取数据库连接向数据库插入更新删除对象2

package com.ctl.util; import java.awt.Color; import java.awt.Font; import java.awt.Insets; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.*; import java.lang.reflect.*; import java.sql.*; import java.text.SimpleD

使用JDBC获取Oracle连接时报错

The Network Adapter could not establish the connection       网络适配器不能创建连接 作为初学者的来说,这个问题让我找了好多次,每次重新开启电脑时就可以正常获取连接,过了一会儿,自己不知道做了什么就会又报错,使用pl/sql时也会登录用户半天登陆不上. 配置文件如下: 获取连接的语句如下 public static Connection getConnection(){ String className = SmbmsPropertie

Mybatis深入之获取数据库连接

Mybatis深入之获取数据库连接 简介 主要记录Mybatis何时获取数据库连接以及获取数据库连接的过程.难点在于明白在使用Mybatis数据库连接池情况下的数据库连接的获取过程. 何时获取数据库连接 Mybatis只有在真正执行sql操作的时候才会去获取数据库连接.至于如何验证: 不深入源码 简单来讲就是有意将数据库配置信息写成.在一个sql执行过程中看哪一步抛数据库连接异常. public static void main(String[] args) throws Exception {

Java -- JDBC 学习--数据库连接池

JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开发,存在的问题: 普通的JDBC数据库连接使用 DriverManager 来获取,每次向数据库建立连接的时候都要将 Connection 加载到内存中,再验证用户名和密码(得花费0.05s-1s的时间).需要数据库连接的时候,就向数据库要求一个,执行完成后再断开连接.这样的方式将会消耗大量的资源和

获取数据库连接对象的工具类

mysql连接对象 jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/查找的文件jdbc.user=rootjdbc.password=自己设置的密码 oracle连接对象 jdbc.driver=oracle.jdbc.driver.OracleDriverjdbc.url=jdbc:oracle:thin:@localhost:1521:orcljdbc.user=scottjdbc.password=

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

由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么就需要反复修改properties配置文件(虽然并不麻烦),所以我想将每种驱动连接程序的properties文件都写好 具体当进行连接时,再加一个配置文件,这个配置文件中指定传入哪个properties文件 先来看一下文件路径(图片复制粘贴为何不好使了!!!!) src com.jdbc.java

数据库连接JDBC和数据库连接池C3P0自定义的java封装类

数据库连接JDBC和数据库连接池C3P0自定义的java封装类 使用以下的包装类都需要自己有JDBC的驱动jar包: 如 mysql-connector-java-5.1.26-bin.jar(5.1.26代表的是版本序列号) 一.JDBC的封装:(java连接MySQL) 1 import java.sql.*; 2 3 import utils.GlobalConstant; 4 5 public class JDBCUtil { 6 7 private JDBCUtil() { 8 9 }