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 条评论
登录 后参与评论

相关文章

来自专栏Netkiller

Spring Data 最佳实践

摘要: ORM的出现解决了程序猿学习数据库学历成本,也加快了开发的速度。程序猿无需再学习数据库定义语言DDL以及数据库客户端,也无需关注建表这些繁琐的工作,同时...

3557
来自专栏闻道于事

商城项目整理(三)JDBC增删改查

商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看 商品表建表语句: 1 create table TEST.GOODS_TABL...

4515
来自专栏lgp20151222

java读取mysql表的注释及字段注释

1002
来自专栏你不就像风一样

Mysql字段名与保留字冲突导致的异常解决

532
来自专栏互联网开发者交流社区

SQL-ROW_NUMBER() OVER函数的基本用法(源码案例)

903
来自专栏芋道源码1024

数据库[分库分表]中间件 Sharding-JDBC 源码分析 —— SQL 解析(四)之插入SQL

本文主要基于 Sharding-JDBC 1.5.0 正式版 1. 概述 2. InsertStatement 3. #parse() 3.1 #parseI...

3487
来自专栏Ryan Miao

sqlite - java 初学

进来准备使用一种embedded database,即嵌入式数据库,方便随项目本地存储。目前学习打算是sqlite和H2。 document:http://ww...

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

关于索引扫描的极速调优实战(第一篇) (r3笔记第81天)

一般在生产环境中,如果某个查询中涉及一个大表,走索引扫描是显然是最值得推荐的方式,但是索引扫描有unique index scan, range scan,sk...

2214
来自专栏用户画像

Mysql数据库连接类

511
来自专栏Hongten

java开发_mysql中获取数据库表描述_源码下载

我们需要获取表:test_table表的描述信息,然后把描述信息插入到表:data_element_config中记录结果

772

扫码关注云+社区