JDBC动态SQL语句连接orcale数据库的工具类

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

public class DbUtil {  private static final String JDBC_DRIVER = "oracle.jdbc.driver.OracleDriver";  private static String JDBC_URL = "jdbc:oracle:thin:@172.22.246.26:1521:orcl";  private static String USER = "java1";  private static String PASS = "java1";  private Connection conn = null;  private PreparedStatement stmt = null;  private ResultSet rs = null;  static {   try {    Class.forName(JDBC_DRIVER);   } catch (ClassNotFoundException e) {    System.out.println("请添加驱动包");   }  }

 public DbUtil() {  }

 public Connection getConn() {   try {    if (conn == null || conn.isClosed()) {     conn = DriverManager.getConnection(JDBC_URL, USER, PASS);    }

  } catch (SQLException e) {    e.printStackTrace();   }   return conn;  }

 public int executeUpdate(String sql, Object... params) {   int rlt = -1;   try {    getConn();    stmt = conn.prepareStatement(sql);    putParams(params, stmt);    rlt = stmt.executeUpdate();   } catch (SQLException e) {    e.printStackTrace();   }   return rlt;  }

 public ResultSet executeQuery(String sql, Object... params) {   try {    // 2.获取连接    getConn();    stmt = conn.prepareStatement(sql);    putParams(params, stmt);    // 3.执行事务    rs = stmt.executeQuery();   } catch (SQLException e) {    e.printStackTrace();   }   return rs;  }

 public void close() {   try {    if (rs != null) {     rs.close();    }    if (stmt != null) {     stmt.close();    }    if (conn != null) {     conn.close();    }   } catch (SQLException e) {    e.printStackTrace();   }  }

 private void putParams(Object[] params, PreparedStatement stmt)    throws SQLException {   if (params != null) {    for (int i = 1; i <= params.length; i++) {     stmt.setObject(i, params[i - 1]);    }   }  }

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文武兼修ing——机器学习与IC设计

不恢复余数除法器

不恢复余数除法器 基本算法 不恢复余数除法器的基本算法来自于恢复余数除法器,区别在于当余数变负时不停下恢复余数而是继续运行迭代,并在迭代中加上移位后除数而不是减...

3487
来自专栏杨建荣的学习笔记

设计模式之工厂方法(r4笔记第89天)

设计模式中,工厂方法模式的使用还是很频繁的,但是似乎在工作中没有留意或者重视。 在各大网站中对于工厂方法模式的例子一般都是举女娲造人的例子,我就不做重复工作了,...

3547
来自专栏码匠的流水账

springboot2的hikari数据库连接池默认配置

Spring-Boot-2.0.0-M1版本将默认的数据库连接池从tomcat jdbc pool改为了hikari,这里主要研究下hikari的默认配置

5111
来自专栏文武兼修ing——机器学习与IC设计

不恢复余数除法器

不恢复余数除法器 基本算法 不恢复余数除法器的基本算法来自于恢复余数除法器,区别在于当余数变负时不停下恢复余数而是继续运行迭代,并在迭代中加上移位后除数而不是减...

2586
来自专栏LanceToBigData

JDBC(一)之细说JDBC

今天这一篇写的是关于JDBC的内容。之前一直在学习mysql数据库,那数据库怎么和我们的程序相互交互呢,它们之间的桥梁就是JDBC。接下来让我们直接进入正题! ...

5078
来自专栏积累沉淀

Java使用JDBC连接Hive(新版本)API封装

网上找了很多封装的API,发现都是过时了的,运行报各种错误,经过了几天的调错,终于可以使用java代码操作hive了 首先看看所需的包 ? 所有的分析都在代码里...

33710
来自专栏Spark学习技巧

视频:JDBCRDD源码及自定义JDBCRDD的分区策略

, "SELECT id,aa FROM bbb where ? <= ID AND ID <= ?", lowerBound = 3, upperBound ...

1031
来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

3250
来自专栏用户画像

SQL Server 数据库连接类

1254
来自专栏Hongten

Java Annotation(Java 注解)

如果你想知道java annotation是什么?你可以先看看:“http://www.infoq.com/articles/Annotation-Hammer...

1404

扫码关注云+社区