我在使用mysql后尝试使用oracle,并且有关于从db表获取信息的问题。这就是我所拥有的。
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获取信息有什么特别的方法吗?
修正了它:忘了这个用户没有这个db
的权利答案 0 :(得分:2)
我不认为您遇到的问题与从Oracle表获取信息与MySQL表之间的任何差异有关。 您检索结果集的方式看起来没有任何问题(尽管查看NewsSQLQueryContainer.GET_NEWS_LIST中包含的查询会很有趣)。 抱歉显而易见的问题 - 您的表格是否包含任何数据?!