oracle的JDBC连接
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;
}
}
最新文章
- SNMP协议以及著名的MIB详解
- codeforces 742E (二分图着色)
- tensorflow 学习(一)
- 你或许不了解的C++函数调用(1)
- 让Sqlite脱离VC++ Runtime独立执行
- toggle的使用心得
- Android自定义控件之TextView
- wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)
- ERR Unsupported CONFIG parameter: notify-keyspace-events; nested exception is redis.clients.jedis.exceptions.JedisDataException
- MySQL5.7下面,误操作导致的drop table db1.tb1; 的恢复方法:
- 【面试】我是如何在面试别人Spring事务时“套路”对方的
- python中网络编程
- svn 安装及更新web库
- CXF develop Webserice Tuturial
- PowerDesigner 缺省值 引号 问题
- linux 用户配制文件 用户增加及删除 以及用户属于的更改
- mac终端常用命令
- 开包即食的教程带你浅尝最新开源的C# Web引擎Blazor
- 动画隐藏UITabBarController与UINavigationController
- Android -- 触摸Area对焦区域(更新)