`
tsmood
  • 浏览: 41350 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

JDBC连接oracle数据库

阅读更多
在动手写代码之前,我们先把环境配置妥善。先从安装了Oracle的数据库服务器中,找到Oracle安装目录,然后将该目录下的jdbc\lib\classes12.jar文件,拷贝此jar路径。然后把该路径添加到‘系统--高级--环境变量’中变量名为‘CLASSPATH’的值中,如:D:\Program Files\SQLLIB\java\db2java.zip;D:\Program Files\SQLLIB\java\runtime.zip;D:\oracle\jdbc\lib\classes12.jar; 也就是让java能够找到这个包。
配置好环境后,我们就开始开始动手写代码了:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.erichfund.model.News;

/**
 * <p>Title: JDBC连接数据库</p>
 * <p>Description: 本实例演示如何使用JDBC连接Oracle数据库,并演示添加数据和查询数据。</p>
 */
public class JDBCConn {
	private String url="jdbc:oracle:thin:@192.168.1.1:1521:orcl";//数据库连接字符串
	private String username="";//数据库用户名
	private String password="";//数据库密码
 
	/**
	 *<br>方法说明:获得数据连接
	 *<br>输入参数:
	 *<br>返回类型:Connection 连接对象
	 */
	public Connection conn(){
		try {
			//第一步:加载JDBC驱动
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//第二步:创建数据库连接
			Connection con =DriverManager.getConnection(url, username, password);
			return con;
		}catch(ClassNotFoundException cnf){
			System.out.println("driver not find:"+cnf);
			return null;
		}catch(SQLException sqle){
			System.out.println("can't connection db:"+sqle);
			return null;
		}
		catch (Exception e) {
			System.out.println("Failed to load JDBC/ODBC driver.");
			return null;
		}
	}

	/**
	 *<br>方法说明:执行查询SQL语句
	 *<br>输入参数:Connection con 数据库连接
	 *<br>输入参数:String sql 要执行的SQL语句
	 *<br>返回类型:void
	 */
	public void query(Connection con, String sql){
		try{
			if(con==null) throw new Exception("database connection can't use!");
			if(sql==null) throw new Exception("check your parameter: 'sql'! don't input null!");
			list = new ArrayList<News>();
			//第三步:获取Staetment对象
			Statement stmt = con.createStatement();
			//第四步:执行数据库操作(查询操作)
			ResultSet rs = stmt.executeQuery(sql);
			//第五步:处理结果集
			ResultSetMetaData rmeta = rs.getMetaData();
			//获得数据字段个数
			int numColumns = rmeta.getColumnCount();
			while(rs.next()) {
				for(int i = 0;i< numColumns;i++) {
					String sTemp = rs.getString(i+1);
					System.out.print(sTemp+"  ");
				}
				System.out.println("");
			}
		}catch(Exception e){
			System.out.println("query error:"+e);
		}
	}

	/**
	*<br>方法说明:执行插入、更新、删除等没有返回结果集的SQL语句
	*<br>输入参数:Connection con 数据库连接
	*<br>输入参数:String sql 要执行的SQL语句
	*<br>返回类型:void
	*/
	public void execute(Connection con, String sql){
		try{
			if(con==null) return;
			//第三步:获取Statement对象
			Statement stmt = con.createStatement();
			//第四步:执行数据库操作(更新操作)
			stmt.executeUpdate(sql);
			System.out.println("update executed successly");
		}catch(Exception e){
			System.out.println("execute error: sql = "+sql);
			System.out.println(e);
		}
	}

	/**
	 *<br>方法说明:实例演示
	 *<br>输入参数:无
	 *<br>返回类型:void
	 */
	public void demo(){
		try{
			Connection conn = conn();//执行自定义连接方法(获取数据库连接对象)
			String sql = "select * from table";
			query(conn,sql);//执行自定义查询方法(查询并处理结果集)
			//第六步:关闭数据库连接
			conn.close();
		}catch(SQLException se){
			System.out.println(se);
		}catch(Exception e){
			System.out.println(e);
		}
	}

	/**
	 *<br>方法说明:主方法
	 *<br>返回类型:void
	 */
	public static void main(String[] arg){
		JDBCConn oc = new JDBCConn();
		oc.demo();
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics