JDBC连接MySQL
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.OracleDriver
URL=jdbc:oracle:thin:@<IP>:<port>:<database_name>
默认端口=1521
连接SQL Server 2005以上版本数据库
驱动包是 sqljdbc4.jar
驱动=com.microsoft.sqlserver.jdbc.SQLServerDriver
URL=jdbc.sqlserver://<IP>:<port>:databaseName=<database_name>
默认端口=1433