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;
    }
}

在写jdbc的时候,

String url="jdbc:oracle:thin:@ip:端口:SID";
            Connection conn=DriverManager.getConnection(url,"账号","密码");

这里没有定义url这个变量,而是直接写到了getConnection这个方法中,没有链接成功,然后还有SID这个地方需要写的是数据库的数据库名,但是我的数据库名不是这个名字,测试了下用的是SID的名字,成功了,关于相关的配置先写这些,后期有什么遗漏再补充

猜你喜欢

转载自blog.csdn.net/lzl1101206656/article/details/74298547