Java使用jdbc链接数据库的MySQL 5.5.45+以及SSL错误解决办法

在Java中使用jdbc连接数据库时,有时会出现以下错误:
这里写图片描述
和:
这里写图片描述
以及:
这里写图片描述
修改方法:在写好的链接url后面加入:
这里写图片描述
首先,问号表示url后面传递的参数,useSSL = true表示使用安全链接。

Java使用JDBCJava Database Connectivity)链接MySQL数据库需要几个步骤,以下是简单的概述: 1. **添加依赖**: 首先,你需要将MySQLJDBC驱动(如mysql-connector-java)添加到你的项目中。如果你使用Maven,可以在pom.xml文件中添加如下依赖: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> <!-- 替换为你需要的版本 --> </dependency> ``` 2. **加载驱动**: 在Java代码中,你需要通过Class.forName()动态加载JDBC驱动,使其能在应用程序运行时找到数据库驱动程序: ```java Class.forName("com.mysql.cj.jdbc.Driver"); ``` 3. **创建连接**: 创建一个`Connection`对象,传递数据库URL、用户名和密码作为参数: ```java String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; Connection connection = DriverManager.getConnection(url, user, password); ``` 确保替换`mydatabase`、`username`和`password`为实际的数据库名、用户名和密码。 4. **执行SQL语句**: 使用`Statement`, `PreparedStatement`或`CallableStatement`执行SQL命令,例如获取数据: ```java // 常规SQL查询 Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM my_table"); // 使用PreparedStatement防止SQL注入 String sql = "SELECT * FROM my_table WHERE id = ?"; PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setInt(1, 1); resultSet = preparedStatement.executeQuery(); // 使用CallableStatement执行存储过程 CallableStatement callableStatement = connection.prepareCall("{call my_procedure(?)}"); callableStatement.setString(1, "some_value"); callableStatement.execute(); ``` 5. **处理结果集**: 使用`ResultSet`遍历查询结果: ```java while (resultSet.next()) { int column1 = resultSet.getInt("column1"); String column2 = resultSet.getString("column2"); System.out.println(column1 + ", " + column2); } ``` 6. **关闭资源**: 最后别忘了关闭`Statement`, `ResultSet`和`Connection`以释放数据库资源: ```java resultSet.close(); statement.close(); connection.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值