Java连接MySQL Warning: Establishing SSL connection without server's identity verification is not r

Posted 何大卫的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java连接MySQL Warning: Establishing SSL connection without server's identity verification is not r相关的知识,希望对你有一定的参考价值。

1. 数据库

1.1 创建表

在当前数据库students中,创建数据表student:

1 mysql> create table student(
2     -> studentid char(10),#学生ID
3     -> name varchar(10),#学生姓名
4     -> age smallint,#学生年龄
5     -> grade smallint)#成绩
6     -> ;

1.2 插入信息:

INSERT student VALUES("1*********","tom",18,68)

插入后是这样:

 2. 下载connector并导入

2.1 下载解压

在 https://dev.mysql.com/downloads/connector/j/ 下载mysql的jdbc驱动器

解压后:

.jar文件为我们需要的文件。

2.2 创建项目导入jar包

eclipse IDE创建Java项目,右击Java项目:

选择configure Build path

两种方式添加jar文件都能实现。

其中区别在于:

add jars需要事先将jar文件复制到该项目里面来,点击add jars按钮之后,在该项目里选择该jar文件。使用的是相对路径,即使把该项目复制到别的电脑也可以使用。

add external Jars 则是用的绝对路径,在资源管理器里面选择jar文件。并且之后会出现:

3. 代码

3.1 编写代码:

import java.sql.*;
import com.mysql.*;
public class Test1 {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        Class.forName("com.mysql.jdbc.Driver");
        java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/students?useSSL=true","root","11111");
        java.sql.Statement sql=conn.createStatement();
        java.sql.ResultSet rs=sql.executeQuery("select * from student");        
        while(rs.next())
        {
            System.out.println(rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3)+" "+rs.getString(4));
        }
    }

}

 3.2 代码讲解:

  • Class.forName() 是用来加载驱动。Class.forName()的用法详细介绍:http://blog.csdn.net/kaiwii/article/details/7405761
  • getConnection()的用法:

       

参数url, jdbc:mysql://localhost:3306/students

注意端口号3306默认的端口号,如果更改了,此处也要更改。斜杠右边数据库名称

之所以代码里面后面加? useSSL=true,是因为如果不加,会出现如下警告:

 Warning: Establishing SSL connection without server\'s identity verification is not recommended 

  回答见stackoverflow: http://stackoverflow.com/questions/34224970/warning-establishing-ssl-connection-without-servers-identity-verification-is-n

user就是用户名,password密码。

 也可以这样:

jdbc:mysql://localhost:3306/jspstudy?user=root&password=111111

  

 查询的结果在rs对象里面,通过里面的getString()方法来得到字符串输出,参数里面的整数是列数。

代码和查询结果:

 

 

以上是关于Java连接MySQL Warning: Establishing SSL connection without server's identity verification is not r的主要内容,如果未能解决你的问题,请参考以下文章

php不能连接mysql?提示:Warning: mysql_connect() [function.mysql-connect]: [2002] 由于连接方...

解决MAC下PHP连接MYSQL错误Warning: mysql_connect(): No such file or directory in conn.php

消除MySQL连接时的Warning:Using a password on the command line interface can be insecure.

新手PHP连接MySQL数据库出问题(Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@&#

Mysql Workbench-Connection Warning-检测到不兼容/非标准的服务器版本或连接协议(10.1.19)

PHP连接Mysql数据库出现Warning: mysqli_connect(): (HY000/1045): Access denied的解决办法