ブログ ひまつぶし

バイクとシモネタが好きなへっぽこプログラマのおバカなブログ。

iBATISについてすげー愚痴りたいんだけど

2010-11-14 19:07:44 | Java職業訓練
例えばね。

部署IDと部署名と削除フラグをもつ、部署テーブルがあったとして。










部署ID部署名削除フラグ
営業部
購買部

データベースにこんな感じで値が入ってたとして

sqlMapConfig.xmlに記述しているSELECT文

< select id="select" resultMap="MBushoResult" parameterClass="bean.Busho" >
select BUSHOID, BUSHONM, DELFLG
from STUDY.M_BUSHO
where BUSHONM = '営業部'
< /select >

これ、データが出てこないのよ。
OracleのSQL*PLUSでは、このSQLでデータが出てくるのよ。営業部のデータが。

この「’(シングルコーテーション)」の中で全角文字を直書きしたら、SQLでデータが引き当てられないのよ。

これがね、データベースの中の部署名が半角文字で「eigyo」だったりすると。
where BUSHONM = 'eigyo'でデータが引き当てられるのよ。

全角だとダメなのよ。

パラメータで渡したJavaBeansの部署クラスのフィールドbushoNmに「営業部」という言葉が入っていたら、下のSQLでOKなの。

where BUSHONM = #bushoNm#

ようは、全角文字を直書きしたらだめなの。
where BUSHONM = '営業部'みたいに。

iBATIS2.3.4の話なんだけど。
バージョンが新しいのも、そういう問題はあるかもしれないけど。
他のバージョンは試してないからわかんない。

開発者が日本人じゃないから、しかたないよね。
もう、そういう仕様かバグかはわからないんだけど。

まぁ、無料だからしかたないよね。

今日はここで詰まってて、また寝るのが遅くなるよ。

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。