Javaデータアクセス実践講座(松信 嘉範)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Javaデータアクセス実践講座

Javaデータアクセス実践講座


形式:
書籍
発売日:
ISBN:
9784798116020
定価:
2,860(本体2,600円+税10%)
仕様:
A5・384ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発

Java-DBプログラミングのすべてが分かる!

本書はJava言語によるDBプログラミングに焦点を当てた解説書です。DBプログラミングの標準的な方法であるJDBCやO/Rマッピング、現在主流のEJB 3.0 Persistence APIについて、基礎から使い方まで徹底的に分かりやすく解説しています。また、Java EEサーバーを使用したWeb-DBアプリケーションのプログラミング手法に加え、Web-DBアプリケーションで問題となりやすいSQLインジェクションなどのセキュリティ問題や、パフォーマンスチューニング、文字化けといった現場開発者の悩みどころとなりやすい実用的な内容も積極的に盛り込んでいます。JavaによるDBプログラミングのバイブルとなる1冊です!

本書は、DBマガジンの人気連載「Javaデータアクセス優先主義」を加筆/修正し、書籍としてまとめたものです。

Chapter 1 JavaによるDBプログラミングの概要

本書の概要
DBプログラミングの要点と課題
 O/Rマッピングによる対応付け
 O/Rマッピングにおける「インピーダンスミスマッチ」
 JDBC APIによるプログラミング
 O/RマッピングフレームワークによるDBプログラミング
 JDBCを知らなくて良いか?
DBプログラミングにおける設計パターン
 層に分けて開発する「レイヤアーキテクチャ」
データアクセス層を実装する「DAOパターン」
DBプログラミングで注意すべきこと
 パフォーマンスチューニング
 プログラミング上の作法
 トランザクション管理
 セキュリティ
 文字化け(日本語処理)

Chapter 2 JDBCによるDBプログラミング

JDBCのおさらい
 JDBCのバージョン
 JDBCドライバの入手
DBへの接続/切断プログラムの作成
 パッケージのインポート
 JDBCドライバのロード
 DBとの接続
 SQLExceptionの処理
 接続の終了処理
 動作確認
SQL文の実行プログラムの作成
 PreparedStatementの作成/実行
 Statementの作成/実行
 ResultSetとカーソル
 プログラムの動作確認
メタ情報の取得
RDBMSのパフォーマンスチューニング
トランザクション制御の基礎知識
 Javaによるトランザクション制御の実装
DBプログラミングでのチューニング技法
 トランザクション制御
 プリペアードステートメント
 バッチ更新
 フェッチサイズの設定とサーバーサイドカーソル

Chapter 3 SQLインジェクションの仕組みと回避方法

はじめに
SQLインジェクションによる攻撃の例
 攻撃例 1:WHERE条件の無効化による全件処理
 攻撃例 2:UNION句による任意のテーブルの検索
 攻撃例 3:任意のSQL文の付加
SQLインジェクション攻撃の防止法
 プリペアードステートメント
 文字列変数のエスケープ
 攻撃例 4:入力値のエスケープだけでは不十分な場合

Chapter 4 Java EE環境でのDBプログラミング

Java EEサーバーの特徴
 Webアプリケーションの特長
 Java EEサーバーの種類
 JNDIとデータソース
JBossのセットアップ
 JBossのダウンロードとインストール
 コンフィグレーション領域の作成
 JBossのMySQL対応の手順
 JBossの起動
 DBへの接続を確認する
Java EE環境でのチューニング技法
 コネクションプーリング
 プリペアードステートメントキャッシュ
サンプルプログラムの概要
 レイヤアーキテクチャと依存関係の整理
サンプルで学ぶWeb+DBプログラミング
 ドメインオブジェクトのProductクラス
 ビジネスロジック層のProductLogicクラス
 Daoクラスを使用したDBアクセス
 Web層における画面表示/制御のロジック
 JBossへのデプロイと実行
Webアプリケーションにおける排他制御
 Version Numberパターンによる排他制御
 Daoクラスの更新用メソッドの修正(LIST20)

Chapter 5 DIコンテナの概要と利用方法

DIコンテナの概要
 インターフェイスベースの設計と依存度
 DIコンテナの種類
Spring Frameworkを利用したサンプルプログラム
 Spring Frameworkを利用したプログラムの書き換え
 プログラムの書き換えによるメリット
DIコンテナとアスペクト指向(AOP)
 宣言型トランザクション機能とは

Chapter 6 ORMによるDBプログラミング(iBATIS編)

iBATISによるO/Rマッピング
 解説用テーブルとテストデータの作成
iBATISによる簡単なSQL文の実行
 設定ファイルの読み込み
SQL文の実行と1件の検索結果の取得
 Beanでの検索結果の取得
 複数件の検索結果の取得
トランザクション制御と更新系SQL文の実行
 複数のバインド変数の渡し方
 トランザクション制御
ジョインと動的SQL文の実行
 ジョインの記述
 条件別の動的SQL文の記述

Chapter 7 ORMによるDBプログラミング(S2Dao編)

S2Daoとは
 S2Dao実行環境のセットアップと解説用テーブルの作成
S2DaoによるDBプログラミング
 JavaBeanクラスの作成(LIST2)
 Daoインターフェイスの作成(LIST3)
 SQL文定義ファイルの記述(LIST4)
 業務ロジッククラスの作成(LIST5、LIST6)
 diconファイルの記述(LIST7、LIST8 )
 呼び出し元クラスの作成と実行(LIST9)
Version Numberパターンによる排他制御
 ジョインの実行

Chapter 8 EJB3 入門(1)―EJB3の基礎技術

EJB3はどこが変わったのか
GlassFishのセットアップ
 管理コンソールの操作
EJB3によるアプリケーション作成
 業務ロジッククラスの作成
 データアクセスクラスの作成
 サーブレットとweb.xmlの作成
 アプリケーションのパッケージング/デプロイ/実行
EJB3の技術解説
 リモートインターフェイスとローカルインターフェイス
 ステートレスセッションBeanとステートフルセッションBean
 宣言型トランザクションの利用

Chapter 9 EJB3 入門(2)―Java Persistence APIによる基本操作

JPAによるDBプログラミングの基礎
 Hibernateの入手
 エンティティクラスの実装
 呼び出し元クラスの実装
 EntityManagerの取得
 トランザクション制御
 検索結果の取得(SELECT文)
 永続オブジェクトの値操作(UPDATE文)
 新しい永続オブジェクトの登録(INSERT文)
 永続オブジェクトの削除(DELETE文)
 設定ファイル「persistence.xml」の記述
 Persistence Unitとは
 呼び出し元クラスの実行
JPAによるプログラミングTips
 永続オブジェクト
 SQL文の実行タイミング
 SQL文実行のコントロール
 更新件数の取得は難しい
 JPA Query Language
 戻り値となるオブジェクトの数
 Named Query
 検索結果の部分抽出

Chapter 10 EJB3 入門(3)―JPAによるオブジェクト関連の処理

2つのテーブルからの検索処理
 オブジェクト関連の設定
 find()による永続オブジェクトの取得(Lazy Load)
 find()による永続オブジェクトの取得(Eager Load)
 Lazy LoadとEager Loadの切り替え
 JPQLによる永続オブジェクトの取得
全件検索の処理
 Lazy LoadとN+1 Select Problem
 FETCHジョインによるEager Load
 DISTINCT句による重複エンティティの削除

Chapter 11 EJB3 入門(4)―WebアプリケーションからのJPAプログラミング

WebアプリケーションとJPA
 エンティティクラスでのVersion Numberパターンの実装
 JPAによるDaoの実装(ProductDaoBeanクラス)
 そのほかのクラス/設定ファイル
 デプロイと実行
Lazy Loadによる副作用と対処法
 オブジェクトの明示的コピー
 ステートフルセッションBean「Extended Persistence Context」の使用

Chapter 12 Kuina-DaoによるDBプログラミング

Kuina-Dao開発環境のセットアップ
 「Dolteng」「Diigu」のセットアップ
Kuina-Daoによるプログラミング
 Daoインターフェイスの作成
 主キー検索
 一意キー検索
 複数件取得(全件取得)
 業務ロジッククラスの作成
 サービスクラスの作成
 MySQLへの対応
 呼び出し元クラスの作成と実行
Kuina-Daoの各種機能
 2Way SQL機能
 さまざまな条件による検索
 LIKE検索
 不等号による大小比較
 検索結果の部分抽出
 条件が複数ある場合
 FETCH JOINによる検索
 関連先テーブルを条件にしたジョイン
 Named Queryの実行
 更新系処理
 Diiguによるクラスファイルの修正

Chapter 13 JavaによるDBプログラミングのエッセンス

アプリケーションとDBプログラミング
RDBMS技術とDBプログラミング
 データベース接続とコネクションプーリング
 トランザクション
デザインパターンと技術動向の理解
 レイヤアーキテクチャとDaoパターン
 Dependency InjectionとAOP
 トランザクション制御
 セキュリティ
JDBCとO/Rマッピング
 JDBCによるコーディング
 JPAによるコーディング

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2011年06月01日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 122~123
LIST11
2刷
07 import chap4.service.ProductService; 19 ProductService service = new ProductService(); 35 Product product = service.selectProduct(productCode); 55 service.updateProduct(product);
07 import chap4.bl.ProductLogic; 19 ProductLogic logic = new ProductLogic(); 35 Product product = logic.selectProduct(productCode); 55 logic.updateProduct(product);
2011.06.01
1刷 238
箇条書きの下3行目
2刷
hibernateannotations.jarをクラスパスに追加します。
hibernateannotations.jar、hibernate-core.jar、hibernate-commons-annotations.jarをクラスパスに追加します。  さらに、Apache Commons Loggingの後継となるSL4J(http://www.slf4j.org)をダウンロードし、以下のjarファイルをクラスパスに追加します。 ・slf4j-api-x.x.x.jar ・slf4j-jcl-x.x.x.jar
2011.06.01

感想・レビュー

らう さん

2011-02-13

DBまわりに特化した本で結構貴重価値あり。Spring/SeasaaといったDIコンテナからS2DAO、iBatisといったORマッパーEJBまで網羅。DB処理に関するFactorryメソッド/Facadeパターンの有用性についても例がDBアクセスなので、よくあるりんごとみかんのような何の意味もない例題と違い、とても実用的でわかりやすい。ずっと使える本だと思う。

benjoe さん

2016-11-14

JavaでのDBアクセスに特化した本で、非常に実用的。