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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章