我想将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)
谢谢
这是你的问题:
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)
| 归档时间: |
|
| 查看次数: |
1678 次 |
| 最近记录: |