JDBC基本流程以及连接ORACLE的三种URL格式

jdbc基本流程代码用例

package jdbctest;

import java.sql.*; 

public class jdbcDemo01 {

	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) throws Exception {
	// TODO Auto-generated method stub
	String url="jdbc:oracle:thin:@//localhost:1521/test";
        String username="username";
        String password="password";
		
        //Class.forName("com.mysql.jdbc.Driver");//mysql驱动

//        1、加载驱动
        Class.forName("com.mysql.jdbc.Driver");
//        2、链接数据库
        Connection connection = DriverManager.getConnection(url, username, password);
//         3、向数据库发送SQL的对象Statement : CRUD
        Statement statement = connection.createStatement();

//        4、编写SQL
        String sql = "select * from users";
//        5、执行SQL
        ResultSet resultSet = statement.executeQuery(sql);

        while (resultSet.next()){
            System.out.println("id "+resultSet.getObject("id"));
            System.out.println("name "+resultSet.getObject("name"));
            System.out.println("password "+resultSet.getObject("password"));
            System.out.println("email "+resultSet.getObject("email"));
            System.out.println("birthday "+resultSet.getObject("birthday"));
        }
        

//      使用预编译模式preparedStatement,避免SQL注入的问题
        String sql2 = "select * from users where id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql2);
        preparedStatement.setInt(1,4);

        ResultSet resultSet1 = preparedStatement.executeQuery();
        while (resultSet1.next()){
            System.out.println("id "+resultSet1.getObject("id"));
            System.out.println("name "+resultSet1.getObject("name"));
            System.out.println("password "+resultSet1.getObject("password"));
            System.out.println("email "+resultSet1.getObject("email"));
            System.out.println("birthday "+resultSet1.getObject("birthday"));
        }

//        6、关闭链接,释放资源(一定要做) 先开后关
        resultSet1.close();
        preparedStatement.close();
        resultSet.close();
        statement.close();
        connection.close();

	}
}

使用jdbc连接oracle时url有三种格式

格式一: Oracle JDBC Thin using an SID

jdbc:oracle:thin:@host:port:SID 

格式二: Oracle JDBC Thin using a ServiceName

jdbc:oracle:thin:@//host:port/service_name 

格式三:Oracle JDBC Thin using a TNSName

jdbc:oracle:thin:@TNSName 
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.16.91)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))

//RAC集群模式tns:(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.6.10)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.6.11)(PORT = 1521)) (LOAD_BALANCE = yes)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = test)))

三种URL参考博客原文地址:https://blog.csdn.net/gnail_oug/article/details/80075263

这世上所有美好的东西,都需要踮起脚尖。
原文地址:https://www.cnblogs.com/XMYG/p/14616223.html