如何使用java连接到mysql?

Pac*_*fic 5 java mysql

我想将Gmail中的电子邮件存储到我的mysql数据库中.我发现有谷歌的Inboxreader,但连接到mysql的部分无法正常工作.用户名,数据库名称,密码是否正确.

谁能帮我.谢谢.

这是代码的一部分

{
            Properties details= new Properties();
            details.load(new FileInputStream("details.properties"));
            String userName = details.getProperty("root");
            String password = details.getProperty("password");
            String url = details.getProperty("jdbc:mysql://localhost/test");
            Class.forName ("com.mysql.jdbc.Driver").newInstance ();
            conn = DriverManager.getConnection (url, userName, password);
            System.out.println ("Database connection established");
            PreparedStatement st= conn.prepareStatement("insert into 'Email_list' values(?)");
            for(String mail:mails)
            {
            try{
                  st.setString(1, mail);
                  st.execute();
                }catch(Exception e){}
            }



        }
        catch (Exception e)
        {
            System.err.println ("Cannot connect to database server");
            e.printStackTrace();
        }
        finally
Run Code Online (Sandbox Code Playgroud)

这是错误代码:

Cannot connect to database server
java.sql.SQLException: The url cannot be null
Reading:23
    at java.sql.DriverManager.getConnection(DriverManager.java:554)
    at java.sql.DriverManager.getConnection(DriverManager.java:185)
    at inboxreader.InboxReader.connecttoMySql(InboxReader.java:181)
    at inboxreader.InboxReader.Start(InboxReader.java:82)
    at inboxreader.InboxReader.main(InboxReader.java:34)
Run Code Online (Sandbox Code Playgroud)

谢谢

Pab*_*ruz 7

这是你的问题:

String url = details.getProperty("jdbc:mysql://localhost/test");
Run Code Online (Sandbox Code Playgroud)

你正在获得一个null价值url.那是因为jdbc:mysql://localhost/test您的属性文件中没有调用任何属性.

你有两个选择.一个人可以url直接使用类似的东西:

String url = "jdbc:mysql://localhost/test";
Run Code Online (Sandbox Code Playgroud)

另一种选择是在以下位置正确设置属性details.properties:

# hello, I am details.properties file
jdbc.url=jdbc:mysql://localhost/test
Run Code Online (Sandbox Code Playgroud)

然后,在您的Java代码中,您url将从属性读取如下:

String url = details.getProperty("jdbc.url"); // note that we're changing property name
Run Code Online (Sandbox Code Playgroud)