在java和mysql之间建立连接时出错

在java和mysql之间建立连接时出错,java,mysql,Java,Mysql,以下是我的代码 import java.sql.*; public class ConnectionTry { public static void main(String[] args) { // TODO Auto-generated method stub try { System.out.println(1); Class.forName("com.mysql.jdbc.Driver

以下是我的代码

import java.sql.*;
public class ConnectionTry {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        try
        {
            System.out.println(1);
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println(2);
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/Test","root","password");
            if(!conn.isClosed())
            {
                System.out.println("connected");
            }
            System.out.println(3);
            PreparedStatement ps = conn.prepareStatement("insert into User(user_id,user_name,email,password) values (?,?,?,?);");
            System.out.println(4);      
            ps.setInt(1, 45);
            System.out.println(5);
            ps.setString(2, "@Suraj");
            ps.setString(3, "esuraj@gmail.com");
            ps.setString(4, "qwer1234");
            int x = ps.executeUpdate();
            if(x > 0) {
                System.out.println("Registration Successful");
            }
            else {
                System.out.println("Registration not Successful");
            }
        }
        catch(Exception c) {
            System.out.println(c.getMessage());
        }

    }

}
在上述代码中: 测试是数据库, root是mysql中的用户, 密码是mysql密码

当我运行上述代码时,会出现以下错误


从服务器接收到未知的初始字符集索引“255”。可以通过“characterEncoding”属性强制设置初始客户端字符集。

尝试设置字符编码,就像错误告诉您的那样

jdbc:mysql://localhost/Test?characterEncoding=utf8

您没有指定URL数据库连接上的端口,默认情况下,该端口为3306,您的URL应该如下所示:mysql://localhost:3306/Test

这个核心jdbc文件


如果默认值是3306,为什么建议他们显式地将其设置为3306?如果他们已经使用了正确的默认值,那么这不是问题所在。

import java.sql.*;

public class jdbcInsertTable {

    public static void insertvalue() throws SQLException{

        try {
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("Connecting to a selected database...");

            Connection con= DriverManager.getConnection
                    ("jdbc:mysql://localhost:3306/oracl","root","root");
            System.out.println("Connected database successfully...");

            Statement stmt = con.createStatement();
            stmt.executeUpdate("insert into employee values('sagar','sales')");
            System.out.println("values insert successfully");

            con.close();

        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println(e);
        }

    }
    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub

        insertvalue();
    }

}