package com.xian.jdbc;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.SQLException;

import javax.servlet.jsp.jstl.sql.Result;

import javax.servlet.jsp.jstl.sql.ResultSupport;

public class OracleConnection {

/**

* 连接ora数据库

* @return con

* @throws ClassNotFoundException

* @throws SQLException

* @author 贾小仙

*/

public static Connection getOracleConnection() throws ClassNotFoundException,SQLException{

String driver="oracle.jdbc.driver.OracleDriver";

String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";

Class.forName(driver);

Connection con=DriverManager.getConnection(url, "scott","7758521");

return con;

}

/**

* 关闭ora连接通道

* @return

* @throws SQLException

* @author 贾小仙

*/

public void freeResources(ResultSet resultSet,PreparedStatement pStatement,Connection con) throws SQLException{

if(resultSet.isClosed()==false)

resultSet.close();

if(pStatement.isClosed()==false)

pStatement.close();

if(con.isClosed()==false)

con.close();

}

/**

* 查询无参数的Sql

* @return Result

* @throws Exception

* @author 贾小仙

*/

public Result runSelectSql(String sql){

Connection con=null;

PreparedStatement pStatement=null;

ResultSet resultSet=null;

Result result=null;

try {

con=getOracleConnection();

pStatement=con.prepareStatement(sql);

resultSet=pStatement.executeQuery();

result=ResultSupport.toResult(resultSet);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

try {

freeResources(resultSet, pStatement, con);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return result;

}

/**

* 查询有参数的Sql

* @return Result

* @throws Exception

* @author 贾小仙

*/

public Result runSelectSql(String sql,Object[] params){

Connection con=null;

PreparedStatement pStatement=null;

Result result=null;

ResultSet resultSet=null;

try {

con=getOracleConnection();

pStatement=con.prepareStatement(sql);

for(int i=0;i<params.length;i++){

pStatement.setObject(i+1, params[i]);

}

resultSet=pStatement.executeQuery();

result=ResultSupport.toResult(resultSet);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

try {

freeResources(resultSet, pStatement, con);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return result;

}

}

oracle的JDBC连接的更多相关文章

  1. 转:ORACLE的JDBC连接方式:OCI和THIN

    oracle的jdbc连接方式:oci和thin oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracl ...

  2. maven项目无法导入Oracle的jdbc连接jar包【我】

    导入一个maven项目,启动一直报错 找不到Oracle的jdbc连接驱动Class, 用Eclipse导入 ojdbc14.jar 连接包,各种方法都无效,无法引入到部署后的lib目录中,可以直接放 ...

  3. oracle 12c jdbc连接pdb报错的问题

    有同学发来消息说,oracle数据库使用jdbc连接会后报ora-12505错误. 下意识地回复说查看jdbc连接串中的数据库sid/服务名是否写错了. 对方反馈说没错.然后让他以下面的方式连接是可以 ...

  4. Oracle 12c JDBC 连接

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  5. Oracle JDBC 连接卡死后 Connection Reset

    坑 这绝对是我碰计算机以来遇到的第一大坑! 症状: 在Linux主机上远程登录,执行一个简单的Oracle的JDBC连接程序(jar包),结果硬生生的卡在了连接建立验证阶段,然后等上几分钟后因为连接超 ...

  6. Eclipse通过jdbc连接oracle数据库

    首先要有包 然后,在项目中加载进去- 最后就是代码了 import java.sql.*;public class GetConn {public Connection getConnection() ...

  7. jdbc连接oracle数据库

    /*** 通过改变配置文件来连接不同数据库*/package com.xykj.jdbc; import static org.junit.Assert.*; import java.io.Input ...

  8. Linux(Centos)下jdbc连接oracle速度超慢的问题

    最近在centos下写个java swing程序,发现在linux用jdbc连接oracle及其缓慢,还经常失败.但是同样的程序在windows下运行就连接的非常快.网上搜索了很长时间都和我这情况没关 ...

  9. 利用jdbc连接oracle数据库

    JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java 数据库连接)是一种用于执行SQL语 ...

随机推荐

  1. 【MYSQL】mysql大数据量分页性能优化

    转载地址: http://www.cnblogs.com/lpfuture/p/5772055.html https://www.cnblogs.com/shiwenhu/p/5757250.html ...

  2. Spring 之Aop实现日志记录

    Aop实现见代码,简单demo实现 package com.idcos.automate.config; import com.idcos.automate.dal.auto.dao.dcos.Dco ...

  3. 基于cxf开发的WebService

    Node.jshttps://www.cnblogs.com/goldlong/p/8027997.htmlQQ音乐apihttps://juejin.im/post/5a35228e51882506 ...

  4. Vue SSR初探

    因为之前用nuxt开发过应用程序,但是nuxt早就达到了开箱即用的目的,所以一直对vue ssr的具体实现存在好奇. 构建步骤 我们通过上图可以看到,vue ssr 也是离不开 webpack 的打包 ...

  5. Windows 10使用Tesseract-OCR出现WindowsError: [Error 2]

    Tesseract-OCR安装时默认安装在x86的目录下,手动添加环境变量此电脑-->属性-->高级系统设置-->环境变量,点击系统变量里的Path, 点击编辑,在编辑环境变量界面中 ...

  6. 通用shell函数库

    1.输出字体颜色库 #!/bin/bash export black='\E[0m\c' export boldred='\E[1;31m\c' export boldgreen='\E[1;32m\ ...

  7. C/C++应用程序内存泄漏检查统计方案

    一.前绪 C/C++程序给某些程序员的几大印象之一就是内存自己管理容易泄漏容易崩,笔者曾经在一个产品中使用C语言开发维护部分模块,只要产品有内存泄漏和崩溃的问题,就被甩锅“我的程序是C#开发的内存都是 ...

  8. MyBatis从入门到精通(六):MyBatis动态Sql之if标签的用法

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用if标签生成动 ...

  9. (数据科学学习手札65)利用Python实现Shp格式向GeoJSON的转换

    一.简介 Shp格式是GIS中非常重要的数据格式,主要在Arcgis中使用,但在进行很多基于网页的空间数据可视化时,通常只接受GeoJSON格式的数据,众所周知JSON(JavaScript Obje ...

  10. python数据库-MySQL数据库高级查询操作(51)

    一.什么是关系? 1.分析:有这么一组数据关于学生的数据 学号.姓名.年龄.住址.成绩.学科.学科(语文.数学.英语) 我们应该怎么去设计储存这些数据呢? 2.先考虑第一范式:列不可在拆分原则 这里面 ...