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等参数时将返回不同类型的数据库连接。

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

  1. JAVA jdbc获取数据库连接

    JDBC获取数据库连接的帮助类 import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManage ...

  2. 在IDEA中使用JDBC获取数据库连接时的报错及解决办法

    在IDEA中使用JDBC获取数据库连接时,有时会报错Sat Dec 19 19:32:18 CST 2020 WARN: Establishing SSL connection without ser ...

  3. JDBC获取数据库连接

    是什么? JDBC:Java Data Base Connectivity(java数据库连接) 为什么用? sun公司提供JDBC API接口,数据库厂商来提供实现 我们需要用哪个数据库就加载那个数 ...

  4. JDBC获取数据库连接慢

    RHEL6.4 获取Oracle数据库链接时快时慢,RHEL7.3获取Oracle数据库链接时一直很慢能够达到五万毫秒. 解决方法: 修改$JAVA_HOME/jre/lib/security/jav ...

  5. JDBC编程:获取数据库连接

    JDBC(Java Database Connectivity),即Java数据库连接.通过JDBC编程,可以使Java应用程序和数据库进行交互. JDBC驱动的方式有很多种,我们常用的驱动方式为:本 ...

  6. JDBC 学习笔记(四)—— JDBC 加载数据库驱动,获取数据库连接

    1. 加载数据库驱动 通常来说,JDBC 使用 Class 类的 forName() 静态方法来加载驱动,需要输入数据库驱动代表的字符串. 例如: 加载 MySQL 驱动: Class.forName ...

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

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

  8. MYSQL 之 JDBC(一): 数据库连接(一)通过Driver接口获取数据库连接

    通过Driver接口获取数据库连接 数据持久化 数据库存取技术分类 JDBC直接访问数据库 JDO技术 第三方O/R工具,如Hibernate,ibatis等JDBC是java访问数据库的基石 JDB ...

  9. 【JDBC核心】获取数据库连接

    获取数据库连接 要素一:Driver 接口实现类 Driver 接口: java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口.这个接口是提供给数据库厂商使用的,不同数据库厂商提 ...

  10. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

随机推荐

  1. springAOP实现原理

    spring AOP实现原理, spring 会在初始化的时候,创建一个BeanPostProcessor(AnnotationAwareAspectJAutoProxyCreator)用来为类注入切 ...

  2. 【代码学习】PYTHON中的静态方法和类方法

    一.类方法 是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数,但是大 ...

  3. js屏幕上下滚动条

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 杭电2629 Identity Card

    题目意思很简单,就是根据身份证号码来确定一个人的籍贯和生日,(然而我开始脑子抽了还以为还要根据奇数偶数判断男女233333). 然后我的暴力ac代码: #include <iostream> ...

  5. Codeforces Round #566 (Div. 2)C(字符串,SET)

    #include<bits/stdc++.h>using namespace std;string s[100007];set<int>st[100007][7];int t[ ...

  6. T4 多文件生成说明

    1.安装T4,自动生成文件 Manager.ttinclude <#@ assembly name="System.Core"#> <#@ assembly na ...

  7. 关于java自学的内容以及感受(7.21)

    直接切入正题说一下自学到的内容: 定义合法标识符的规则: 可以由英文字母,数字,_,$组成. 不能数字开头和包含空格. 不可以使用关键字和保留字,但是可以包含关键字和保留字. byte short i ...

  8. WebView 设置请求头 Header

    package com.webview.demo; 2 3 import android.os.Bundle; 4 import android.support.v7.app.AppCompatAct ...

  9. 一键设置Fluent环境变量小程序

    使用视频教程优酷播放地址: https://v.youku.com/v_show/id_XNDU2MTkwNDg5Mg==.html?spm=a2hzp.8244740.0.0 一键设置环境变量小软件 ...

  10. 一个DBA的雄心壮志

    math-liu, 一个甲方的DBA,同时他还有另外一个名字“怕提神”.在某甲方工作的他最近这几年如打了鸡血一般工作起来完全由拼命三郎的那股劲,据说能唯一使他感到一丝鼓励和安慰的是以下这两位大牛前辈. ...