亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java連接orcale數(shù)據(jù)庫(kù)示例分享

 更新時(shí)間:2014年02月25日 09:09:02   作者:  
這篇文章主要介紹了java連接orcale數(shù)據(jù)庫(kù)示例,需要的朋友可以參考下

database.properties

復(fù)制代碼 代碼如下:

jdbc.driver_class=oracle.jdbc.driver.OracleDriver
jdbc.connection.url=jdbc:oracle:thin:@localhost:1521:orcl
jdbc.connection.username=scott
jdbc.connection.password=tiger

ConfigManager.java

復(fù)制代碼 代碼如下:

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

//讀取配置文件(屬性文件)的工具類
public class ConfigManager {
 private static ConfigManager configManager;
 // properties.load(inputStream);讀取屬性文件
 private static Properties properties;

 // 在構(gòu)造工具類時(shí),進(jìn)行配置文件的讀取
 private ConfigManager() {
  String configFile = "database.properties";
  properties = new Properties();
  InputStream is = ConfigManager.class.getClassLoader()
    .getResourceAsStream(configFile);
  try {
   // 讀取配置文件
   properties.load(is);
   is.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 // 通過(guò)單例模式設(shè)置實(shí)例化個(gè)數(shù)
 public static ConfigManager getInstance() {
  if (configManager == null) {
   configManager = new ConfigManager();
  }
  return configManager;
 }

 // 通過(guò)key獲取對(duì)應(yīng)的value
 public String getString(String key) {
  return properties.getProperty(key);
 }
}

BaseDao.java

復(fù)制代碼 代碼如下:

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

import com.book.util.ConfigManager;

//基類:數(shù)據(jù)庫(kù)操作通用類
public class BaseDao {
 protected Connection conn;
 protected PreparedStatement ps;
 protected Statement stmt;
 protected ResultSet rs;

 // 獲取數(shù)據(jù)庫(kù)連接
 public boolean getConnection() {
  // // 讀取配置信息
  String driver = ConfigManager.getInstance().getString(
    "jdbc.driver_class");
  String url = ConfigManager.getInstance().getString(
    "jdbc.connection.url");
  String username = ConfigManager.getInstance().getString(
    "jdbc.connection.username");
  String password = ConfigManager.getInstance().getString(
    "jdbc.connection.password");
  // 加載JDBC驅(qū)動(dòng)
  try {
   Class.forName(driver);
   // 與數(shù)據(jù)庫(kù)建立連接
   conn = DriverManager.getConnection(url, username, password);
  } catch (ClassNotFoundException e) {
   return false;
  } catch (SQLException e) {
   return false;
  }
  return true;
 }

 // 增刪改的通用方法
 public int executeUpdate(String sql, Object[] params) {
  int updateRows = 0;
  getConnection();
  try {
   ps = conn.prepareStatement(sql);
   // 填充占位符
   for (int i = 0; i < params.length; i++) {
    ps.setObject(i + 1, params[i]);
    System.out.println(i + 1 + "---" + params[i]);
   }
   System.out.println(sql);
   updateRows = ps.executeUpdate();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return updateRows;

 }

 // 查詢
 public ResultSet executeSQL(String sql, Object[] params) {
  getConnection();
  try {
   ps = conn.prepareStatement(sql);

   // 填充占位符
   for (int i = 0; i < params.length; i++) {
    ps.setObject(i + 1, params[i]);
   }
   rs = ps.executeQuery();
  } catch (SQLException e) {
   e.printStackTrace();
  }
  return rs;

 }

 // 關(guān)閉資源
 public void closeAll(){
  try {
   if(rs!=null){
    rs.close();
   }
   if(stmt!=null){
    stmt.close();
   }
   if(ps!=null){
    ps.close();
   }
   if(conn!=null){
    conn.close();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
 }
}

相關(guān)文章

  • ElasticSearch?深度分頁(yè)示例解析

    ElasticSearch?深度分頁(yè)示例解析

    這篇文章主要為大家介紹了ElasticSearch?深度分頁(yè)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • spring-cloud入門(mén)之spring-cloud-config(配置中心)

    spring-cloud入門(mén)之spring-cloud-config(配置中心)

    這篇文章主要介紹了spring-cloud入門(mén)之spring-cloud-config(配置中心),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • java調(diào)用遠(yuǎn)程服務(wù)器的shell腳本以及停止的方法實(shí)現(xiàn)

    java調(diào)用遠(yuǎn)程服務(wù)器的shell腳本以及停止的方法實(shí)現(xiàn)

    這篇文章主要介紹了java調(diào)遠(yuǎn)程服務(wù)器的shell腳本以及停止的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Ribbon負(fù)載均衡服務(wù)調(diào)用的示例詳解

    Ribbon負(fù)載均衡服務(wù)調(diào)用的示例詳解

    Rbbo其實(shí)就是一個(gè)軟負(fù)載均衡的客戶端組件,他可以和其他所需請(qǐng)求的客戶端結(jié)合使用,這篇文章主要介紹了Ribbon負(fù)載均衡服務(wù)調(diào)用案例代碼,需要的朋友可以參考下
    2023-01-01
  • Java利用MessageFormat實(shí)現(xiàn)短信模板的匹配

    Java利用MessageFormat實(shí)現(xiàn)短信模板的匹配

    這篇文章主要介紹了Java利用MessageFormat實(shí)現(xiàn)短信模板的匹配,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Java實(shí)現(xiàn)Flappy Bird游戲源碼

    Java實(shí)現(xiàn)Flappy Bird游戲源碼

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)Flappy Bird游戲源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Java在web頁(yè)面上的編碼解碼處理及中文URL亂碼解決

    Java在web頁(yè)面上的編碼解碼處理及中文URL亂碼解決

    這篇文章主要介紹了Java在web頁(yè)面上的編碼解碼處理及中文URL亂碼解決,文中所介紹的兩種使用過(guò)濾器解決中文鏈接亂碼的方法非常有效,需要的朋友可以參考下
    2016-02-02
  • java String類常量池分析及

    java String類常量池分析及"equals"和"==”區(qū)別詳細(xì)介紹

    這篇文章主要介紹了java String類常量池分析及"equals"和"==”區(qū)別詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • 基于HTML5+js+Java實(shí)現(xiàn)單文件文件上傳到服務(wù)器功能

    基于HTML5+js+Java實(shí)現(xiàn)單文件文件上傳到服務(wù)器功能

    應(yīng)公司要求,在HTML5頁(yè)面上實(shí)現(xiàn)上傳文件到服務(wù)器功能,對(duì)于我這樣的菜鳥(niǎo),真是把我難住了,最后還是請(qǐng)教大神搞定的,下面小編把例子分享到腳本之家平臺(tái),供大家參考
    2017-08-08
  • Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之KMP算法

    Java 數(shù)據(jù)結(jié)構(gòu)與算法系列精講之KMP算法

    在很多地方也都經(jīng)常看到講解KMP算法的文章,看久了好像也知道是怎么一回事,但總感覺(jué)有些地方自己還是沒(méi)有完全懂明白。這兩天花了點(diǎn)時(shí)間總結(jié)一下,有點(diǎn)小體會(huì),我希望可以通過(guò)我自己的語(yǔ)言來(lái)把這個(gè)算法的一些細(xì)節(jié)梳理清楚,也算是考驗(yàn)一下自己有真正理解這個(gè)算法
    2022-02-02

最新評(píng)論