java 连接oracle 步骤
1. 导入jdbc驱动jar(驱动包)
2. 注册jdbc驱动
      -参数:"驱动程序类名"
      Class.forName("驱动程序类名")
3. 获得Connection对象
   需要3个参数:url,username,password
   连接到数据库
4. 创建statement(语句)对象
  --conn.createStatement()方法创建对象
   --用于执行SQL语句
  - execute(ddl)执行任何sql,常用执行ddl,dcl
  -executeUpdate(dml)执行DML语句,如 insert update delete
  -executeQuery(dql)执行DQL语句,如select
5.处理SQL执行结果:
  -execute(ddl)如果没有异常则成功
  -executeUpdate(dml)返回数字,表示跟新“行”数量,抛出异常则失败
  -executeQuery(dql)返回resultset(结果集)对象,代表2维查询结果,
使用遍历while(rs.next()){
	    	int id=rs.getInt("id");
	    	String name=rs.getString("name");
	    	System.out.println(id+","+name);
	    }处理,如果查询失败抛出异常
6. 关闭数据连接!
-  conn.close();
public static void main(String[] args) throws Exception  {
			Class.forName("oracle.jdbc.OracleDriver");
			//连接到数据库
 
			 * 通过DriverManager获取数据库连接
			 * 注意:
			 * 导入的包都在java.sql.*
			 * 
			 * DriverManager连接ORACLE时的路径格式
			 * jdbc:oracle:thin:@<host>:<port>:<sid>
			 * 
			 * Mysql的路径 端口号通常是:3306
			 * jdbc:mysql://<host>:<port>/<dbname>
			 */
			String url="jdbc:oracle:thin:@192.168.1.10:1521:xe";
			String user="system";
			String password="123";
			//System.out.println("OK");
           //连接到数据库,如果不成功出现异常
			Connection conn=DriverManager.getConnection(url, user, password);
			//输出conn引用对象的实际类型
			//证明:驱动程序提供了connection接口的实现类
			System.out.println(conn.getClass());
			//创建 "语句"对象
			Statement st=conn.createStatement();
			//执行SQL语句
			String ddl="create table dahua_demo"
					+"(id number(5),"
					+"name varchar2(100))";
			boolean b=st.execute(ddl);
			//返回结果: true 表示有结果集
//			          false 表示没有结果集
//			                         创建失败抛出异常
			System.out.println(b);
Statement st=conn.createStatement();
		String dql="select * from dahua_demo ";
		String dml="insert into dahua_demo(id,name) values(1,‘dahua‘) ";
		st.executeUpdate(dml);
		ResultSet rs=st.executeQuery(dql);
		
	    while(rs.next()){
	    	int id=rs.getInt("id");
	    	String name=rs.getString("name");
	    	System.out.println(id+","+name);
	    }
			conn.close();
			
			
	}
//Properties就是为了读取.properties文件设计的API
其底层就是文本文件IO;Properties本身实现了Map接口
内部是散列表,限定了key和value都是String类型
方法:load(流)将文件就读取为散列表, String getPropertykey()查询value
              Properties cfg=new Properties();
		
		//利用load方法读取文件
		InputStream in=Demo5.class.getClassLoader().
				getResourceAsStream("db.properties");
		cfg.load(in);
		System.out.println(cfg);
		System.out.println(cfg.size());	
封装连接方法
public class DbUtils {
	
	//静态变量一份就够了
	 static String driver;
     static String url;
	 static String user;
	 static String password;
	 //读取文件中的数据库连接参数
	 static{
		 //初始化静态属性
		 //利用properties读取配置文件
		 //从配置文件中查找相应参数
		 try {
		 Properties cfg=new Properties();
		 InputStream in=DbUtils.class.getClassLoader().
				 getResourceAsStream("db.properties");
		
			cfg.load(in);
			System.out.println(cfg);
			//初始化参数
			driver=cfg.getProperty("jdbc.driver");
			url=cfg.getProperty("jdbc.url");
			user=cfg.getProperty("jdbc.user");
			password=cfg.getProperty("jdbc.password");
			
			
		} catch (IOException e) {
			
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	 }
	 /**
	  * 封装创建数据库连接的过程
	  * 
	  * @return
	  */
	public static Connection getConnection(){
		
		try {
			//注册
			Class.forName(driver);
			//创建连接
			Connection conn=DriverManager.getConnection(url, user,password);
			
			return conn;
		} catch (Exception e) {
			
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
	}
}
public class DbUtils {
	
	//静态变量一份就够了
	 static String driver;
     static String url;
	 static String user;
	 static String password;
	 //读取文件中的数据库连接参数
	 static{
		 //初始化静态属性
		 //利用properties读取配置文件
		 //从配置文件中查找相应参数
		 try {
		 Properties cfg=new Properties();
		 InputStream in=DbUtils.class.getClassLoader().
				 getResourceAsStream("db.properties");
		
			cfg.load(in);
			System.out.println(cfg);
			//初始化参数
			driver=cfg.getProperty("jdbc.driver");
			url=cfg.getProperty("jdbc.url");
			user=cfg.getProperty("jdbc.user");
			password=cfg.getProperty("jdbc.password");
			
			
		} catch (IOException e) {
			
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	 }
	 /**
	  * 封装创建数据库连接的过程
	  * 
	  * @return
	  */
	public static Connection getConnection(){
		
		try {
			//注册
			Class.forName(driver);
			//创建连接
			Connection conn=DriverManager.getConnection(url, user,password);
			
			return conn;
		} catch (Exception e) {
			
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		
	}
	//关闭数据库连接方法 封装复杂的关闭过程
	public static void close(Connection conn){
		if(conn!=null){
		try {
			conn.close();
		} catch (Exception e) {
			e.printStackTrace();
		  }
		}
	}
	
}
//正规格式
public class Demo6 {
	public static void main(String[] args) {
		Connection conn=null;
		try {
			conn=DbUtils.getConnection();
			Statement st=conn.createStatement();
			String sql="select * from dahua_demo";
			ResultSet rs=st.executeQuery(sql);
			while(rs.next()){
				int id=rs.getInt("id");
				String name=rs.getString("name");
				System.out.println(id+","+name);
			}
		} catch (Exception e) {
			
		}finally {
		DbUtils.close(conn);
		}
	}
}
//连接池
原文:http://www.cnblogs.com/Bighua123/p/7567354.html