Oracle-java基本调用

2020-01-09  本文已影响0人  __Y_Q

下面是2 个简单的 java 调用 Oracle 的例子.

1. 创建 maven 工程, 添加依赖

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13-rc-2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc8</artifactId>
            <version>12.2.0.1.0</version>
        </dependency>
    </dependencies>

2. 编写测试类

    @Test
    public void javaCallOracle() throws Exception {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String dbURL = "jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521/服务名";
        Connection connection = DriverManager.getConnection(dbURL, "name", "password");
        //得到预编译的 Statement
        PreparedStatement statement = connection.prepareStatement("select  * from ZYQ_PERSON where  pid = ?");
        statement.setObject(1, 5);
        //执行查询操作
        ResultSet rs = statement.executeQuery();
        //输出结果
        while (rs.next()){
            System.out.println(rs.getString("pname"));
        }
        //释放资源
        rs.close();
        statement.close();
        connection.close();
    }

3. 调用存储函数

    /**
     * 调用存储函数
     * @throws Exception
     * {?= call <procedure-name> [{<arg1>,<arg2>}]} 带返回值,调用存储函数使用
     * {call <procedure-name> [{<arg1>,<arg2>}]}    带返回值, 调用存储过程使用
     */
   @Test
    public void javaCallOracleFunction() throws Exception {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String dbURL = "jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521/服务名";
        Connection connection = DriverManager.getConnection(dbURL, "name", "password");
        //得到预编译的 Statement,传入创建存储函数的名称
        CallableStatement statement = connection.prepareCall("{?= call zyq_f(?)}");
        //给参数赋值
        statement.setObject(2, 22);
        //设置返回值类型
        statement.registerOutParameter(1, OracleType.VARCHAR2);
        //执行操作
        statement.execute();
        //输出结果,第一个参数
        System.out.println(statement.getObject(1));

        statement.close();
        connection.close();
    }
上一篇 下一篇

猜你喜欢

热点阅读