目录
一、相关概念
1.什么是JDBC
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
2.数据库驱动
我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。
二、常用接口
1、数据库URL
URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为:
jdbc:mysql:[]//localhost:3306/shen ?参数名:参数值
常用数据库URL地址的写法:
Oracle:jdbc:oracle:thin:@localhost:1521:shen
SqlServer:jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=shen
MySql:jdbc:mysql://localhost:3306/shen
注意:如果是localhost:3306,mysql可以简写为jdbc:mysql:///sid(尽量不这样)
MySQL 5.6及之后版本的MySQL数据库的时区设定比中国时间早8个小时,需要在URL地址后面指定时区,
2.Driver接口
Driver接口由数据库厂家提供,作为java开发人员,只需要使用Driver接口就可以了。在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序,不同的数据库有不同的装载方法。如:
装载MySql驱动:Class.forName("com.mysql.jdbc.Driver");
装载Oracle驱动:Class.forName("oracle.jdbc.driver.OracleDriver");
//1.加载驱动(开发推荐的方式) 不会对具体的驱动类产生依赖。
Class.forName("com.mysql.jdbc.Driver");
3.DriverManager类
用于加载JDBC驱动并且创建与数据库的连接
方法 |
说明 |
registerDriver(Driver driver) |
用于向DriverManager中注册给定的JDBC驱动程序 |
getConnection(String url,String user,String pwd) |
用于建立与数据库的连接,并返回表示连接的connection对象 |
//1.加载驱动(不推荐)会造成DriverManager中产生两个一样的驱动,并会对具体的驱动类产生依赖。
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url = "jdbc:mysql://localhost:3306/shen";
String username = "shen";
String password = "Anxin062039";
Connection conn = null;
//2.获取与数据库的链接
conn = DriverManager.getConnection(url, username, password);
4.Connection接口
Jdbc程序中的Connection,它用于代表数据库的链接,Collection是数据库编程中最重要的一个对象,客户端与数据库所有交互都是通过connection对象完成的,创建方法为:
Connection conn = DriverManager.getConnection(url,user,pass);
Connection与特定数据库的连接(会话),在连接上下文中执行sql语句并返回结果。DriverManager.getConnection(url, user, password)方法建立在JDBC URL中定义的数据库Connection连接上。
连接MySql数据库:Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password");
连接Oracle数据库:Connection conn = DriverManager.getConnection("jdbc:ora