JDBC(Java Database Connectivity)是java与数据库之间的桥梁。
常见的数据库:ORACLE、SQL Server(微软)、MySQL、DB2(IBM)JDBC操作数据库的基本步骤:1、加载JDBC驱动程序(DriverManager类)2、连接数据库(Connection类)3、发送SQL语句(Statement接口、PreparedStatement接口、CallableStatement接口)4、处理结果集(ResultSet接口)5、关闭数据库(close(),从下到上依次关闭)JDBC操作MySQL数据库:
1、加载驱动(需先导入驱动jar包)
MySQL5版本:Class.forName("com.mysql.jdbc.Driver"); MySQL6以上:Class.forName("com.mysql.cj.jdbc.Driver"); 2、连接数据库MySQL5版本:String url="jdbc:mysql://127.0.0.1:3306/test"; 数据库地址:mysql数据库,IP,端口,test库(以test为例)MySQL6以上:需要指定时区serverTimezone,UTC美国,中国用Asia/Shanghai或Asia/Hongkong。不使用SSL--Secure Sockets Layer(安全套接层)String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false";或者更详细String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true";Connection con=DriverManager.getConnection(url,"root","123456"); 数据库地址,账号,密码
如下代码运行结果com.mysql.cj.jdbc.ConnectionImpl@763d9750,说明连接数据库test成功。
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class Demo { public static void main(String[] args) { try { //连接数据库test(先在MySQL中创建test数据库) Class.forName("com.mysql.cj.jdbc.Driver");//java连接数据库的驱动 String url="jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useSSL=false"; Connection con= DriverManager.getConnection(url,"root","123456");//数据库地址、账户、密码 System.out.println(con); con.close();//关闭连接 } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }}
JDBC操作其他数据库(了解):
连接Oracle数据库驱动包是 ojdbc6.jar驱动=oracle.jdbc.driver.OracleDriverURL=jdbc:oracle:thin:@<IP>:<port>:<database_name>默认端口=1521连接SQL Server 2005以上版本数据库
驱动包是 sqljdbc4.jar驱动=com.microsoft.sqlserver.jdbc.SQLServerDriverURL=jdbc.sqlserver://<IP>:<port>:databaseName=<database_name>默认端口=1433