Java通過jdbc連接遠程Oracle數據庫的相關配置

前段時間接觸到jdbc連接數據庫的相關知識,決定試一下,手頭上沒有數據庫,於是在遠程數據庫上開了一個測試的用戶,只賦與查詢單張表的權限,然後再在Java中配置相關的參數:

package com.immoc.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.immoc.bean.Message;
/**
 * 和message相關的數據庫操作
 *
 */
public class MessageDao {
	/**
	 * 根據查詢條件查詢消息列表
	 */
	public List<Message> queryMessageList(String command,String description){
		List<Message> messageList=new ArrayList<Message>();
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
			String url="jdbc:oracle:thin:@ip:端口:SID";
			Connection conn=DriverManager.getConnection(url,"賬號","密碼");
			StringBuilder sql=new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from MESSAGE where 1=1");
			List<String> paramList=new ArrayList<String>();
			if(command!=null&&!"".equals(command.trim())){
				sql.append("and COMMAND=?");
				paramList.add(command);
			}
			if(description!=null&&!"".equals(description.trim())){
				sql.append("and DESCRIPTION like '%'||?||'%'");
				paramList.add(description);
			}
			PreparedStatement statement= conn.prepareStatement(sql.toString());
			for(int i=0;i< paramList.size();i++){
				statement.setString(i+1, paramList.get(i));
			}
			ResultSet rs=statement.executeQuery();
			
			while(rs.next()){
				Message message=new Message();
				messageList.add(message);
				message.setId(rs.getString("ID"));
				message.setCommand(rs.getString("COMMAND"));
				message.setDescription(rs.getString("DESCRIPTION"));
				message.setContent(rs.getString("CONTENT"));
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		return messageList;
	}
}


發佈了64 篇原創文章 · 獲贊 4 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章