ホームページ Java &#&チュートリアル Java は dbcp2 データベース接続プールを使用します

Java は dbcp2 データベース接続プールを使用します

Jan 21, 2017 pm 04:23 PM

開発では、dbcp データベース接続プールなどのデータベース接続プールをよく使用します。この章では、dbcp データベース ライブラリ接続プールに接続するための Java の簡単な使用方法について説明します。
開発ツール myeclipse2014

1. まず、プロジェクトに testjdbc という名前を付けます。作成が完了すると、プロジェクトの構造は次のようになります。

Java は dbcp2 データベース接続プールを使用します2. 作成したパッケージの名前は com.szkingdom.db です。


3. ヘルプ クラス CastUtil を作成します。コードは次のとおりです。プロパティ ファイルの読み取りヘルプ クラス PropsUtil、コードは次のとおりです。 :

package com.szkingdom.db;
/**
 * Created by jack on 2015/12/26.
 * 转型操作工具类
 */
public class CastUtil {
  /*
  * 转为String型
  * */
  public static String castString(Object obj) {
   return CastUtil.castString(obj, "");
  }
   
  /*
  * 转为String型(提供默认值)
  * */
  public static String castString(Object obj, String defaultValue) {
   return obj != null ? String.valueOf(obj) : defaultValue;
  }
   
  /*
  * 转为double型
  * */
  public static double castDouble(Object obj) {
   return castDouble(obj, (double)0);
  }
   
  /*
  * 转为double型(提供默认值)
  * */
  public static double castDouble(Object obj, Double defaultValue) {
   double doubleValue = defaultValue;
   if (obj != null) {
    String strValue = castString(obj);
    if (StringUtil.isNotEmpty(strValue)) {
     try {
      doubleValue = Double.parseDouble(strValue);
     } catch (NumberFormatException e) {
      defaultValue = defaultValue;
     }
   
    }
   }
   return doubleValue;
  }
   
  /*
  * 转为long型
  * */
  public static long castLong(Object obj) {
   return castLong(obj, 0);
  }
   
  /*
   * 转为long型(提供默认值)
   * */
  public static long castLong(Object obj, long defaultValue) {
   long longValue = defaultValue;
   if (obj != null) {
    String strValue = castString(obj);
    if (StringUtil.isNotEmpty(strValue)) {
     try {
      longValue = Long.parseLong(strValue);
     }catch (NumberFormatException e){
      longValue=defaultValue;
     }
   
    }
   }
   return longValue;
  }
   
  /*
  * 转为int型
  * */
  public static int castInt(Object obj){
   return castInt(obj,0);
  }
  /*
  * 转为int型(提供默值)
  * */
  public static int castInt(Object obj,int defaultValue){
   int intValue=defaultValue;
   if (obj!=null){
    String strValue=castString(obj);
    if(StringUtil.isNotEmpty(strValue)){
     try {
      intValue=Integer.parseInt(strValue);
     }catch (NumberFormatException e){
      intValue=defaultValue;
     }
   
    }
   }
   return intValue;
  }
   
  /*
  * 转为boolean型
  * */
  public static boolean castBoolean(Object obj){
   return castBoolean(obj,false);
  }
  /*
  * 转为boolean型(提供默认值)
  * */
  public static boolean castBoolean(Object obj,boolean defaultValue){
   boolean booleanValue=defaultValue;
   if(obj!=null){
    booleanValue=Boolean.parseBoolean(castString(obj));
   }
   return booleanValue;
  }
}
ログイン後にコピー

5. 文字列ヘルパー クラス StringUtil を作成します。コードは次のとおりです。

package com.szkingdom.db;
  
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
 * Created by jack on 2015/12/26.
 * 属性文件工具类
 */
public class PropsUtil {
  //private static final Logger LOGGER = LoggerFactory.getLogger(PropsUtil.class);
   
  /*
  * 加载属性文件
  *
  * */
  public static Properties loadProps(String fileName) {
   Properties properties = null;
   InputStream inputStream = null;
   try {
    inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
    if (inputStream == null) {
     throw new FileNotFoundException(fileName + " file is not found!");
    }
    properties = new Properties();
    properties.load(inputStream);
   } catch (IOException e) {
    //LOGGER.error("load properties file failure", e);
    System.out.println("load properties file failure:"+e);
   } finally {
    if (inputStream != null) {
     try {
      inputStream.close();
     } catch (IOException e) {
      //LOGGER.error("close input stream failure", e);
      System.out.println("close input stream failure:"+e);
     }
    }
   }
   return properties;
  }
   
  /*
  * 获取字符型属性(默认为空字符串)
  *
  * */
  public static String getString(Properties props, String key) {
   return getString(props, key, "");
  }
   
  /*
  * 获取字符型属性(可指定默认值)
  * */
  public static String getString(Properties props, String key, String
    defaultValue) {
   String value = defaultValue;
   if (props.containsKey(key)) {
    value = props.getProperty(key);
   }
   return value;
  }
   
  /*
  * 获取数值类型属性(默认为0)
  * */
  public static int getInt(Properties props, String key) {
   return getInt(props, key, 0);
  }
   
  /*
  * 获取数值类型属性(可指定默认值)
  * */
  public static int getInt(Properties props, String key, int defaultValue) {
   int value = defaultValue;
   if (props.containsKey(key)) {
    value = CastUtil.castInt(props.getProperty(key));
   }
   return value;
  }
   
  /*
  * 获取布尔型属性(默认值为false)
  * */
  public static boolean getBoolean(Properties props, String key) {
   return getBoolean(props, key, false);
  }
   
  /*
  * 获取布尔型属性(可指定默认值)
  * */
  public static boolean getBoolean(Properties props, String key, Boolean defaultValue) {
   boolean value = defaultValue;
   if (props.containsKey(key)) {
    value = CastUtil.castBoolean(props.getProperty(key));
   }
   return value;
  }
}
ログイン後にコピー

6. データベース接続プロパティ ファイル dbconfig を作成します。 .properties を src ディレクトリに追加します

package com.szkingdom.db;
/**
 * Created by jack on 2015/12/26.
 * 字符串工具类
 */
public class StringUtil {
 /*
  * 判断字符串是否为空
  * */
  public static boolean isEmpty(String str){
   if(str != null){
    str=str.trim();
   }
   //return StringUtils.isEmpty(str);
   return "".equals(str);
  }
  /*
  * 判断字符串是否非空
  * */
  public static boolean isNotEmpty(String str){
   return !isEmpty(str);
  }
}
ログイン後にコピー


7. 必要な jar パッケージを lib ディレクトリに配置します:

8. dbcp を使用してデータベース ヘルパー クラスを作成します

9. 基本的なデータベース接続プールは次のとおりです。を作成すると、DatabaseHelper の update メソッドを使用してデータベース接続の取得をシミュレートし、必要に応じてデータ操作を実行できるようになります。

以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんも PHP 中国語 Web サイトをサポートしていただければ幸いです。

dbcp2 データベース接続プールを使用した Java に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか? Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? 高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか? Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか? 適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか? Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

See all articles