import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; //自定义jdbc工具类。
//目的是简化jdbc开发。
public class JDBCUtil {
public static String driver="oracle.jdbc.driver.OracleDriver";
public static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
public static String user = "system";
public static String password = "orcl";
//获取1条数据库的连接
public static Connection getConnection()
{
Connection con = null; //返回的连接
try {
//1 加载驱动
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
//2 获取连接
} catch (Exception e)
{
e.printStackTrace();
}
return con;
}
//查询:简单查询,不含?的sql语句
public static ResultSet doQuery(String sql)
{
return doQuery(sql,null);
} //查询:复杂查询,含有多个?的sql语句
public static ResultSet doQuery(String sql,String... ps)
{
//1 获取连接
Connection con = getConnection(); //调用上面的方法,获取1个连接
if(con==null)
{
System.out.println("获取连接失败!");
return null; //提前终止本方法代码
} ResultSet rs = null;
try {
//2执行查询
PreparedStatement psm = con.prepareStatement(sql);
//通过for循环,访问参数数组,给psm逐个设置可变参数!!
if(ps!=null) //只有可变参数不为空,才进行?赋值
{
for(int i=0;i<ps.length;i++)
{
psm.setString(i+1, ps[i]);//将第i个可变参数,设置到第i+1个问号
}
}
rs = psm.executeQuery();
} catch (Exception e)
{
e.printStackTrace();
}
//3 返回结果.注意,不能关闭,否则结果用不了
return rs;
} //修改(包含添加,删除,修改,删表,建表):返回sql影响的行数.不含?的sql语句
public static int doUpdate(String sql)
{
return doUpdate(sql,null);
} //修改(包含添加,删除,修改,删表,建表):返回sql影响的行数.含?有的sql语句
public static int doUpdate(String sql,String... ps)
{
//1 获取连接
Connection con = getConnection(); //调用上面的方法,获取1个连接
if(con==null)
{
System.out.println("获取连接失败!");
return 0; //提前终止本方法代码
} int result = 0;
PreparedStatement psm = null;
try {
//2执行查询
psm = con.prepareStatement(sql);
//通过for循环,访问参数数组,给psm逐个设置可变参数!!
if(ps!=null)
{
for(int i=0;i<ps.length;i++)
{
psm.setString(i+1, ps[i]);//将第i个可变参数,设置到第i+1个问号
}
}
result = psm.executeUpdate();
} catch (Exception e)
{
e.printStackTrace();
}
finally
{
close(null,psm,con); //修改完毕,记得关闭资源
}
//3 返回结果.注意,不能关闭,否则结果用不了
return result; } //关闭资源。三个参数的版本
public static void close(ResultSet rs,Statement sm,Connection con)
{
try {
if (rs != null)
rs.close();
if (sm != null)
sm.close();
if (con != null)
con.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
//关闭资源。一个参数的版本
public static void close(ResultSet rs)
{
Statement sm = null;
Connection con = null;
try {
if (rs != null)
{
sm = rs.getStatement();
rs.close();
} if (sm != null)
{
con = sm.getConnection();
sm.close();
}
if (con != null)
con.close();
} catch (Exception e)
{
e.printStackTrace();
}
}
}

  

oracle---jdbc--laobai的更多相关文章

  1. Ignite 配置更新Oracle JDBC Drive

           如果使用Oracle 12C 作为Ignite 的Repository的话,在Repository Createion Wizard的配置过程中,会出现ORA-28040:No matc ...

  2. 高性能 Oracle JDBC 编程

    了解如何利用连接和语句池特性来提高 Oracle 驱动的 JDBC 程序的性能.作者:Yuli Vasiliev2009 年 4 月发布使用诸如连接池和语句池等池技术可以显著提高数据库密集型应用程序的 ...

  3. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...

  4. mysql和oracle jdbc连接

    加载驱动. Class.forName("oracle.jdbc.driver.OracleDriver"); 1 创建连接. Connection con = DriverMan ...

  5. Eclipse中启用Oracle jdbc logging

    根据自己用的JRE版本, jre1.5选择ojdbc5_g.jar, jre6选择ojdbc6_g.jar, 只有带_g的dirver才输出debug信息. maven 的配置信息: <depe ...

  6. 在MAVEN仓库中添加ORACLE JDBC驱动

    本文转载自 http://www.cnblogs.com/leiOOlei/archive/2013/10/21/3380568.html 因为已经是第二次遇到,所以COPY过来,怕以后别人的BLOG ...

  7. 连接oracle jdbc

    我使用的是精简版的oracle. 1  导入oracle驱动包 oracle下路径 D:\oracle\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6 ...

  8. maven oracle jdbc jar

    1.problem describe: when your dependency jar about oracle use code like this: <!-- oracle-connect ...

  9. myeclipe eclipse 常遇问题:Some projects cannot be imported 、java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver、The file connot be validate

    1.Some projects cannot be imported because they already exist in the workspace 2.Some projects were ...

  10. Oracle Jdbc demo

    两种方式: thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracle客户端,只要求classpath中包含jdbc驱动的jar包就行.thin就是纯粹用Java写的ORACLE数据库 ...

随机推荐

  1. 服务器重启后SQL Server Agent由于"The EventLog service has not been started" 启动失败

    案例环境: 操作系统   : Microsoft Windows Server 2003 Standard Edtion SP2 数据库版本 : SQL Server 2005 Standard Ed ...

  2. [20141124]sql server密码过期,通过SSMS修改策略报错

    背景: 新建了用户,没有取消掉强制密码策略 修改掉策略报错 错误: The CHECK_POLICY and CHECK_EXPIRATION options cannot be turned OFF ...

  3. 从零自学Hadoop(11):Hadoop命令上

    阅读目录 序 概述 Hadoop Common Commands User Commands Administration Commands File System Shell 引用 系列索引 本文版 ...

  4. Hive官方手册翻译(Getting Started)

    翻译Hive官方文档系列,文中括号中包含 注: 字样的,为我自行标注的,水平有限,翻译不是完美无缺的.如有疑问,请参照Hive官方文档对照查看.   内容列表 Cloudera制作的Hive介绍视频 ...

  5. windows系统快捷操作の进阶篇

    上次介绍了windows系统上一些自带的常用快捷键,有些确实很方便,也满足了我们的一部分需求.但是我们追求效率的步伐怎会止步于此?这一次我将会进一步介绍windows上提升效率的方法. 一:运行 打开 ...

  6. SCCM 2012 R2安装部署过程和问题(一)

    在进行Windows Server 2012 R2虚拟化测试前,由于需要安装,部署和管理很多的服务器,自然会想到该如何提高效率和有效的管理.在Windows Server 2008的时代微软已经提供称 ...

  7. 关于stm32定时器的理解

    TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; 表面意思是输出控制极性为高,但是意思是定时器输入0,不反相,输出0: 输出控制极性为 ...

  8. Citrix Xen Desktop安装配置

    Citrix虚拟化的东西其实和我现在做的东西完全没有关系的.反正接到通知要搭一个Citrix Xen Desktop那就做. 先放几个教程: :跟着图片通过XenDesktop7发布Win8桌面 这个 ...

  9. EF 数据库连接字符串-集成安全性访问 SQL Server

    使用 Windows 集成安全性访问 SQL Server 如果您的应用程序运行在基于 Windows 的 Intranet 上,则也许可以将 Windows 集成身份验证用于数据库访问.集成安全性使 ...

  10. nginx简易入门(转)

    相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额.那究竟它有什么作用呢?可能很多人未必了解. 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了 ...