zoukankan      html  css  js  c++  java
  • 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

    这世上所有美好的东西,都需要踮起脚尖。
  • 相关阅读:
    cinder支持nfs快照
    浏览器输入URL到返回页面的全过程
    按需制作最小的本地yum源
    创建可执行bin安装文件
    RPCVersionCapError: Requested message version, 4.17 is incompatible. It needs to be equal in major version and less than or equal in minor version as the specified version cap 4.11.
    惠普IPMI登陆不上
    Linux进程状态——top,ps中看到进程状态D,S,Z的含义
    openstack-neutron基本的网络类型以及分析
    openstack octavia的实现与分析(二)原理,架构与基本流程
    flask上下文流程图
  • 原文地址:https://www.cnblogs.com/XMYG/p/14616223.html
Copyright © 2011-2022 走看看