您的位置:首页 > 数据库

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

2016-08-17 20:26 615 查看


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]);

   }

  }

 }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: