我是新手,在家装的mysql,这么都连不上
//报错
Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused: connectSTACKTRACE:java.net.SocketException: java.net.ConnectException: Connection refused: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:151)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1765)
at com.mysql.jdbc.Connection.<init>(Connection.java:430)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:268)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.tarena.jdbclab.SQLTools.getConnection(SQLTools.java:96)
at com.tarena.jdbclab.SQLTools.main(SQLTools.java:11)
** END NESTED EXCEPTION **
//代码---------------------------
{
public static void main(String[] args){
   //1.连数据库
JdbcUtil jdbcUtil = new JdbcUtil();//倒用一个工具包
   Connection con = null;
   while((con=getConnection())==null){
     System.out.println("请重试");
   }
   //2.处理用户命令
   processCommand(con);
   //3.结束程序
   JdbcUtil.close(null,null,con);
   System.out.println("再见,欢迎下次使用!");
}
private static void processCommand(Connection con){
   String command = null;    
   boolean flag = true;
   while(flag){
 command = getCommand();//1.获取用户命令
     //2.执行用户命令
     if("quit".equals(command)){
   flag = false;
 }else if("commit".equals(command)||"rollback".equals(command)){
   processTransaction(con,command);
 }else{
   processSQL(con,command);
 }
   }
}
private static String getCommand(){
   String message = "MYSQL>";
   String command = "";
   boolean flag = true;
   StringBuffer sb = new StringBuffer();
   int i = 0;
   while(flag){
 if(++i>1) message = i+">";
     sb.append(" "+prompt(message));
 command = sb.toString().trim();
         if(command.endsWith(";")){
   flag=false;
 }
   }
   return command.substring(0,command.length()-1).trim();
}
private static void processSQL(Connection con,String sql){
   Statement stmt = null;
   ResultSet rs = null;
   String message = "";
   try{
      stmt = con.createStatement();
  if(stmt.execute(sql)){
    rs = stmt.getResultSet();
JdbcUtil.printRs(rs);
  }else{
    int i = stmt.getUpdateCount();
message = "更新成功-"+i;
  }
      System.out.println(message);
   }catch(Exception e){
      System.out.print(e.getMessage());
  try{
    con.rollback();
  }catch(Exception ex){
    ex.printStackTrace();
  }
   }finally{
      JdbcUtil.close(rs,stmt,null);
   }
}
private static String prompt(String message){
   BufferedReader in = 
   new BufferedReader(
      new InputStreamReader(
         System.in));
   String input = "";
   System.out.print(message);
   try{
     input = in.readLine();
   }catch(Exception e){
     System.out.println(e.getMessage());
   }
   return input;
}
private static Connection getConnection(){
   Connection con = null;
   String url = prompt("请输入url:");
   String userName = prompt("请输入用户名:");
   String pwd = prompt("请输入密码:");
   try{
     con = DriverManager.getConnection(url,userName,pwd);
     con.setAutoCommit(false);
   }catch(Exception e){
     System.out.println(e.getMessage());
   }
   return con;
}
private static void processTransaction(Connection con , String command){
   try{
     if("commit".equals(command)){
   con.commit();
 }else{
   con.rollback();
 }
   }catch(Exception e){
     e.printStackTrace();
   }
}
}
//倒用了一个工具包
public class JdbcUtil
{
static{
  String driverClassName = 
 "com.mysql.jdbc.Driver";
  try{
 Class.forName(driverClassName);
  }catch(Exception e){
     e.printStackTrace();
  //System.out.println("找不到驱动程序");
  }
}
public static Connection getConnection(){
String url = 
"jdbc:mysql://localhost:3306/test";
String username = "root";
String pwd = "123";
Connection con = null;
        try{
  con = DriverManager.getConnection(
   url,username,pwd);
    }catch(Exception e){
  e.printStackTrace();
}
return con;
}
public static void close(ResultSet rs,Statement stmt,Connection con){
      try{
    if(rs!=null) rs.close();
  }catch(Exception ex){
    ex.printStackTrace();
  }
  try{
    if(stmt!=null) stmt.close();
  }catch(Exception ex){
    ex.printStackTrace();
  }
  try{
    if(con!=null) con.close();
  }catch(Exception ex){
    ex.printStackTrace();
  }
}
public static Integer sToInt(String num){
   Integer i = null;
   try{
     i = Integer.parseInt(num);
   }catch(Exception e){
     e.printStackTrace();
   }
   return i;
}
public static void printRs(ResultSet rs){
   if(rs==null) return;
   try{
 StringBuffer sb = new StringBuffer();
     ResultSetMetaData meta = rs.getMetaData();
 int cols = meta.getColumnCount();
 for(int i=1;i<=cols;i++){
     sb.append(meta.getColumnName(i)+"  ");
 }
 sb.append("\n");
 sb.append("----------------------------------------\n");
 while(rs.next()){
   for(int i=1;i<=cols;i++){
     sb.append(rs.getString(i)+"  ");
   }
   sb.append("\n");
 }
 System.out.print(sb.toString());
   }catch(Exception e){
     e.printStackTrace();
   }
}
}