本节课我学习的主要内容有:
1.什么是JDBC(Java DataBase Connectivity)
2.如何连接Oracle数据库
什么是JDBC(Java DataBase Connectivity):
java数据库连接,用于访问数据库的java应用程序API;
可以使用它提供的语法对多种关系型数据库进行高效的访问,并且你不用担心
不同数据库语言的差异。
它提供了标准的与具体数据库产品无关的接口以此与任何关系数据库来进行交互。
通常用它来和java应用程序与数据库间的连接,操作数据库中的数据等等。
特点:
高效率并且隐藏了访问不同数据库的实现细节。
如何连接Oracle数据库(已经安装过Oracle的前提下):
下载获得驱动程序包并将其复制到java项目的路径之下。
编写驱动连接获取连接对象的代码。
加载驱动:
Class.forName();
DriverManager.registerDriver();
将DriverManager.getConnection()获得连接对象(Connection接口实例:
第一个参数:你要连接的那个数据库在哪,他是谁,用什么模式连接,用哪个端口号来连接
getConnection(String url, String user, String pas);方法
就像:"jdbc:oracle:thin:@localhost:1521:orcl"
第二个参数:用户名
就像system
第三个参数:用户名对应的密码
就像:system对应的密码。
OracleConnectionTest01类(创建与数据库的连接):
package LessonForJDBC01;
import java.sql.*;
public class OracleConnectionTest01
{
//连接对象的获取方法
public static Connection getConnectionTest(String driverClass,String url,String user,String password)
{
//通过反射来把"oracle.jdbc.OracleDriver"加载上来并创建一个实例。
Connection con = null;
try
{
Class.forName(driverClass);
con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException | SQLException e)
{
e.printStackTrace();
}
return con;
}
//关闭连接对象的方法
public static void closeConnectionObject(Connection con)
{
if (con != null)
{
try
{
con.close();
} catch (SQLException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
//可以这样:
Connection con1 = getConnectionTest("oracle.jdbc.OracleDriver","jdbc:oracle:thin:@localhost:1521:orcl","system","2731625");
System.out.println(con1);
//也可以这样:
String class_driver = "oracle.jdbc.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "system";
String password = "2731625";
Connection con2 = getConnectionTest(class_driver,url,user,password);
System.out.println(con2);
//连接对象的获取是我们JDBC后续操作的开始。
//在合适的时间关闭数据库的连接。
closeConnectionObject(con1);
closeConnectionObject(con2);
}
}
运行结果:
oracle.jdbc.driver.T4CConnection@2d38eb89
oracle.jdbc.driver.T4CConnection@3f102e87
本篇部分文字来源于:
咕嘟咖啡杨海滨老师 — 《java编程语言高级特性》
在这里十分感谢老师能够给我带来学习的激情。
2020.11.15
本文章是本人学习笔记,不进行任何商用所以不支持转载请理解!也请别拿去商用!
如果觉得对你有帮助那么欢迎你随时来回顾!
只为记录本人学习历程。
毕