在 Java 应用程序中持续检查外部数据库
Continuously checking an external database in a Java application
我正在尝试制作一个 Java 应用程序,它可以访问那里托管的 MySQL 数据库,并将 SELECT
和 UPDATE
语句发送到特定的 table.
我当前的连接代码如下所示:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("username"); -- line 1
dataSource.setPassword("password"); -- line 2
dataSource.setURL("db url"); -- line 3
然而,最后三行在 Eclipse 中引发了这些错误:
第 1 行和第 2 行:
- Syntax error on token ";", @ expected
- Syntax error on token ".", @ expected after
第 3 行:
- Syntax error, insert "SimpleName" to complete
QualifiedName
- Syntax error, insert ")" to complete MethodDeclaration
- Syntax error, insert "Identifier (" to complete
MethodHeaderName
我查看了 MysqlDataSource
的源代码,setUser
肯定是 public(以及 setPassword
和 setServerName
)。我不知道为什么它会导致问题。
可执行代码必须包含在 class 块中。 javac
需要诸如 @Entity
(来自 javax.persistence)之类的注释或 class 声明。根据上面的代码,您的代码应如下所示:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
class DBCheck {
private MysqlDataSource dataSource;
public DBCheck() {
dataSource = new MysqlDataSource();
}
public Connection connect() throws SQLException {
dataSource.setUser("username");
dataSource.setPassword("password");
dataSource.setURL("db url");
return dataSource.getConnection();
}
public static main( String[] args ) {
Connection conn = null;
try {
DBCheck dbc = new DBCheck();
conn = dbc.connect();
} catch( SQLException e ) {
// code to handle exception
} finally {
if( conn != null ) {
conn.close();
}
}
}
}
有关在没有 JNDI 的情况下使用 DataSource 的更好解释,请参阅 this short tutorial
我正在尝试制作一个 Java 应用程序,它可以访问那里托管的 MySQL 数据库,并将 SELECT
和 UPDATE
语句发送到特定的 table.
我当前的连接代码如下所示:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
MysqlDataSource dataSource = new MysqlDataSource();
dataSource.setUser("username"); -- line 1
dataSource.setPassword("password"); -- line 2
dataSource.setURL("db url"); -- line 3
然而,最后三行在 Eclipse 中引发了这些错误:
第 1 行和第 2 行:
- Syntax error on token ";", @ expected
- Syntax error on token ".", @ expected after
第 3 行:
- Syntax error, insert "SimpleName" to complete
QualifiedName
- Syntax error, insert ")" to complete MethodDeclaration
- Syntax error, insert "Identifier (" to complete
MethodHeaderName
我查看了 MysqlDataSource
的源代码,setUser
肯定是 public(以及 setPassword
和 setServerName
)。我不知道为什么它会导致问题。
可执行代码必须包含在 class 块中。 javac
需要诸如 @Entity
(来自 javax.persistence)之类的注释或 class 声明。根据上面的代码,您的代码应如下所示:
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
class DBCheck {
private MysqlDataSource dataSource;
public DBCheck() {
dataSource = new MysqlDataSource();
}
public Connection connect() throws SQLException {
dataSource.setUser("username");
dataSource.setPassword("password");
dataSource.setURL("db url");
return dataSource.getConnection();
}
public static main( String[] args ) {
Connection conn = null;
try {
DBCheck dbc = new DBCheck();
conn = dbc.connect();
} catch( SQLException e ) {
// code to handle exception
} finally {
if( conn != null ) {
conn.close();
}
}
}
}
有关在没有 JNDI 的情况下使用 DataSource 的更好解释,请参阅 this short tutorial