在java应用程序中连续检查外部数据库

llycmphe  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(339)

我正在尝试创建一个java应用程序,它可以访问托管在那里的mysql数据库并发送 SELECT 以及 UPDATE 特定表的语句。
我当前的连接代码如下所示:

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 绝对是公开的(以及 setPassword 以及 setServerName ). 我不知道为什么会引起问题。

vuv7lop3

vuv7lop31#

可执行代码必须 Package 在类块中。 javac 应为注解,例如 @Entity (来自javax.persistence)或类声明。基于上述代码,您的代码应该如下所示:

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的情况下使用数据源,请参阅本简短教程

相关问题