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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?