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;
}
}
Java通過jdbc連接遠程Oracle數據庫的相關配置
前段時間接觸到jdbc連接數據庫的相關知識,決定試一下,手頭上沒有數據庫,於是在遠程數據庫上開了一個測試的用戶,只賦與查詢單張表的權限,然後再在Java中配置相關的參數:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.