我试图在使用mysql之后使用oracle,并且对从数据库表获取信息有疑问。我这里有。

PreparedStatement statement = null;
    ResultSet resultSet = null;

    List<News> newsList = new ArrayList<News>();

    try {
        statement = connection.
        prepareStatement(NewsSQLQueryContainer.GET_NEWS_LIST);

        resultSet = statement.executeQuery();
        while (resultSet.next()) {
            News news = new News();
            news.setIdNews(resultSet.getInt("idnews"));
            news.setInfo(resultSet.getString("info"));
            news.setNewsDate(resultSet.getDate("newsdate"));
            news.setNewsHeader(resultSet.getString("newsheader"));
            newsList.add(news);
            }
    }


并从我自己的池中接收到连接,该连接通过以下方式初始化:

public static void init() throws DAOException{
    if(instatance == null){

        ResourceBundle rb = ResourceBundle.getBundle(PROPERTIES_FILENAME);
        String driver  = rb.getString("DATABASE_DRIVER_NAME");
        String url = rb.getString("DATABASE_URL");
        String user = rb.getString("DATABASE_USER");
        String password = rb.getString("DATABASE_PASSWORD");
        String poolSizeStr = rb.getString("DATABASE_POOLSIZE");
        int poolSize = (poolSizeStr != null) ?
                Integer.parseInt(poolSizeStr) : DEFAULT_POOL_SIZE;

        log.info("Trying to create pool of connections...");

        instatance = new ConnectionPool(driver,url,user,password,poolSize);

        log.info("Connection pool initialized");
}


从此属性文件:

DATABASE_DRIVER_NAME=oracle.jdbc.driver.OracleDriver
DATABASE_URL=jdbc:oracle:thin:@localhost:1521:ORCL
DATABASE_USER=root
DATABASE_PASSWORD=root
DATABASE_POOLSIZE=40


几乎相同的代码与mysql一起使用,现在不起作用(结果集没有任何结果)。从oracle获取信息是否有特殊方法?

修复它:只是忘记了此用户对此数据库没有这种权限

最佳答案

我认为您遇到的问题与从Oracle表中获取信息与与MySQL表中获取信息之间的任何差异无关。
检索结果集的方式似乎没有什么问题(尽管看到包含在NewsSQLQueryContainer.GET_NEWS_LIST中的查询会很有趣)。
很抱歉,您的表格中包含任何数据?

关于java - 如何从Oracle数据库获取信息到Java Bean?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10399160/

10-11 00:34